Add room name to component state

Signed-off-by: Paulo Pinto <paulo.pinto@automattic.com>
This commit is contained in:
Paulo Pinto 2021-10-07 17:01:39 +01:00
parent 1b334e47aa
commit ea55b0d45f

View file

@ -44,12 +44,22 @@ interface IProps {
initialTabId?: string; initialTabId?: string;
} }
interface IState {
roomName: string;
}
@replaceableComponent("views.dialogs.RoomSettingsDialog") @replaceableComponent("views.dialogs.RoomSettingsDialog")
export default class RoomSettingsDialog extends React.Component<IProps> { export default class RoomSettingsDialog extends React.Component<IProps, IState> {
private dispatcherRef: string; private dispatcherRef: string;
constructor(props: IProps) {
super(props);
this.state = { roomName: '' };
}
public componentDidMount() { public componentDidMount() {
this.dispatcherRef = dis.register(this.onAction); this.dispatcherRef = dis.register(this.onAction);
this.setRoomName();
} }
public componentWillUnmount() { public componentWillUnmount() {
@ -66,6 +76,12 @@ export default class RoomSettingsDialog extends React.Component<IProps> {
} }
}; };
private setRoomName = (): void => {
this.setState({
roomName: MatrixClientPeg.get().getRoom(this.props.roomId).name,
});
};
private getTabs(): Tab[] { private getTabs(): Tab[] {
const tabs: Tab[] = []; const tabs: Tab[] = [];
@ -122,7 +138,7 @@ export default class RoomSettingsDialog extends React.Component<IProps> {
} }
render() { render() {
const roomName = MatrixClientPeg.get().getRoom(this.props.roomId).name; const roomName = this.state.roomName;
return ( return (
<BaseDialog <BaseDialog
className='mx_RoomSettingsDialog' className='mx_RoomSettingsDialog'