diff --git a/lang/main.json b/lang/main.json index cb721a35b..dce7185c2 100644 --- a/lang/main.json +++ b/lang/main.json @@ -995,7 +995,7 @@ "microphones": "Microphones", "moderator": "Moderator", "moderatorOptions": "Moderator options", - "more": "More", + "more": "General", "name": "Name", "noDevice": "None", "notifications": "Notifications", diff --git a/react/features/settings/components/web/MoreTab.tsx b/react/features/settings/components/web/MoreTab.tsx index ae6d9586e..06f1f8800 100644 --- a/react/features/settings/components/web/MoreTab.tsx +++ b/react/features/settings/components/web/MoreTab.tsx @@ -1,3 +1,6 @@ +import { Theme } from '@mui/material'; +import { withStyles } from '@mui/styles'; +import clsx from 'clsx'; import React from 'react'; import { WithTranslation } from 'react-i18next'; @@ -12,7 +15,12 @@ import { MAX_ACTIVE_PARTICIPANTS } from '../../../filmstrip/constants'; /** * The type of the React {@code Component} props of {@link MoreTab}. */ -export type Props = AbstractDialogTabProps & WithTranslation & { +export interface IProps extends AbstractDialogTabProps, WithTranslation { + + /** + * CSS classes object. + */ + classes: any; /** * Whether or not follow me is currently active (enabled by some other participant). @@ -43,11 +51,23 @@ export type Props = AbstractDialogTabProps & WithTranslation & { * Wether or not the stage filmstrip is enabled. */ stageFilmstripEnabled: boolean; +} - /** - * Invoked to obtain translated strings. - */ - t: Function; +const styles = (theme: Theme) => { + return { + container: { + display: 'flex', + flexDirection: 'column' as const + }, + + divider: { + margin: `${theme.spacing(4)} 0`, + width: '100%', + height: '1px', + border: 0, + backgroundColor: theme.palette.ui03 + } + }; }; /** @@ -55,14 +75,14 @@ export type Props = AbstractDialogTabProps & WithTranslation & { * * @augments Component */ -class MoreTab extends AbstractDialogTab { +class MoreTab extends AbstractDialogTab { /** * Initializes a new {@code MoreTab} instance. * * @param {Object} props - The read-only properties with which the new * instance is to be initialized. */ - constructor(props: Props) { + constructor(props: IProps) { super(props); // Bind event handler so it is only bound once for every instance. @@ -78,16 +98,17 @@ class MoreTab extends AbstractDialogTab { * @returns {ReactElement} */ render() { - const content = []; - - content.push(this._renderSettingsLeft()); - content.push(this._renderSettingsRight()); + const { showPrejoinSettings, classes } = this.props; return (
- { content } + {showPrejoinSettings && <> + {this._renderPrejoinScreenSettings()} +
+ } + {this._renderMaxStageParticipantsSelect()}
); } @@ -127,18 +148,11 @@ class MoreTab extends AbstractDialogTab { const { t, showPrejoinPage } = this.props; return ( -
- - { t('prejoin.premeeting') } - - -
+ ); } @@ -162,52 +176,13 @@ class MoreTab extends AbstractDialogTab { }); return ( -
-
- ); } } -export default translate(MoreTab); +export default withStyles(styles)(translate(MoreTab)); diff --git a/react/features/settings/components/web/SettingsDialog.tsx b/react/features/settings/components/web/SettingsDialog.tsx index cfd209a70..76e73f4c9 100644 --- a/react/features/settings/components/web/SettingsDialog.tsx +++ b/react/features/settings/components/web/SettingsDialog.tsx @@ -389,8 +389,6 @@ function _mapStateToProps(state: IReduxState, ownProps: any) { if (showMoreTab) { tabs.push({ name: SETTINGS_TABS.MORE, - - // @ts-ignore component: MoreTab, labelKey: 'settings.more', props: moreTabProps,