diff --git a/src/components/views/settings/tabs/room/GeneralRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/GeneralRoomSettingsTab.tsx index 790e2999f56..1cfe023ba90 100644 --- a/src/components/views/settings/tabs/room/GeneralRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/GeneralRoomSettingsTab.tsx @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -import React from 'react'; +import React, { ContextType } from 'react'; import { _t } from "../../../../../languageHandler"; import RoomProfileSettings from "../../../room_settings/RoomProfileSettings"; import AccessibleButton from "../../../elements/AccessibleButton"; @@ -38,9 +38,10 @@ interface IState { @replaceableComponent("views.settings.tabs.room.GeneralRoomSettingsTab") export default class GeneralRoomSettingsTab extends React.Component { public static contextType = MatrixClientContext; + context: ContextType; - constructor(props: IProps) { - super(props); + constructor(props: IProps, context: ContextType) { + super(props, context); this.state = { isRoomPublished: false, // loaded async @@ -89,6 +90,18 @@ export default class GeneralRoomSettingsTab extends React.Component; } + let leaveSection; + if (room.getMyMembership() === "join") { + leaveSection = <> + { _t("Leave room") } +
+ + { _t('Leave room') } + +
+ ; + } + return (
{ _t("General") }
@@ -108,13 +121,7 @@ export default class GeneralRoomSettingsTab extends React.Component{ _t("Other") }
{ flairSection } { urlPreviewSettings } - - { _t("Leave room") } -
- - { _t('Leave room') } - -
+ { leaveSection } ); }