Skip to content

Commit 4f9b99f

Browse files
authored
FUI - Hide Redesign toggle if the new theme is enabled (#2795)
1 parent a597138 commit 4f9b99f

File tree

4 files changed

+42
-18
lines changed

4 files changed

+42
-18
lines changed

src/admin/leftPanel.tsx

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { MediaModal } from './media/mediaModal';
1717
import { CustomWidgets } from './custom-widgets/customWidgets';
1818
import { OnboardingModal } from './onboardingModal';
1919
import { lightTheme } from './utils/themes';
20-
import { isRedesignEnabledSetting, mobileBreakpoint } from '../constants';
20+
import { isRedesignEnabledSetting, mobileBreakpoint, newTheme, themeSetting } from '../constants';
2121
initializeIcons();
2222

2323
const enum NavItem {
@@ -39,7 +39,8 @@ interface LeftPanelState {
3939
selectedNavItem: NavItem,
4040
isMobile: boolean,
4141
showOnboardingModal: boolean,
42-
isRedesignEnabled: boolean
42+
isRedesignEnabled: boolean,
43+
isNewThemeEnabled: boolean
4344
}
4445

4546
const pageIcon: IIconProps = { iconName: 'Page' };
@@ -79,7 +80,8 @@ export class LeftPanel extends React.Component<{}, LeftPanelState> {
7980
selectedNavItem: NavItem.Main,
8081
isMobile: window.innerWidth < mobileBreakpoint,
8182
showOnboardingModal: false,
82-
isRedesignEnabled: false
83+
isRedesignEnabled: false,
84+
isNewThemeEnabled: false
8385
};
8486
}
8587

@@ -101,7 +103,17 @@ export class LeftPanel extends React.Component<{}, LeftPanelState> {
101103
} catch (error) {
102104
this.logger?.trackError(error, { message: `Failed to get setting: ${isRedesignEnabledSetting} - admin panel` });
103105
}
106+
107+
let themeSettingValue = '';
108+
try {
109+
themeSettingValue = await this.siteService.getSetting(themeSetting);
110+
console.log(themeSettingValue);
111+
} catch (error) {
112+
this.logger?.trackError(error, { message: `Failed to get setting: ${themeSetting} - admin panel` });
113+
}
114+
104115
this.setState({ isRedesignEnabled: !!redesignSetting });
116+
this.setState({ isNewThemeEnabled: themeSettingValue === newTheme });
105117
}
106118

107119
checkScreenSize = (): void => {
@@ -244,19 +256,21 @@ export class LeftPanel extends React.Component<{}, LeftPanelState> {
244256
{ this.state.selectedNavItem === NavItem.Media && <MediaModal onDismiss={this.handleBackButtonClick.bind(this)} /> }
245257
{ this.state.selectedNavItem === NavItem.Settings && <SettingsModal onDismiss={this.handleBackButtonClick.bind(this)} /> }
246258
{ this.state.selectedNavItem === NavItem.Help && <HelpModal onDismiss={this.handleBackButtonClick.bind(this)} /> }
247-
<Toggle
248-
label={"Preview new UI design"}
249-
onText={"On"}
250-
offText={"Off"}
251-
checked={this.state.isRedesignEnabled}
252-
onChange={async (_, checked) => {
253-
this.setState({ isRedesignEnabled: checked });
254-
await this.siteService.setSetting(isRedesignEnabledSetting, checked);
255-
this.logger.trackEvent(`${checked ? 'Checked' : 'Unchecked'}: Preview new UI design`);
256-
this.eventManager.dispatchEvent('onSaveChanges');
257-
this.eventManager.dispatchEvent('onDataPush'); // Needed to reload the runtime part
258-
}}
259-
/>
259+
{!this.state.isNewThemeEnabled &&
260+
<Toggle
261+
label={"Preview new UI design"}
262+
onText={"On"}
263+
offText={"Off"}
264+
checked={this.state.isRedesignEnabled}
265+
onChange={async (_, checked) => {
266+
this.setState({ isRedesignEnabled: checked });
267+
await this.siteService.setSetting(isRedesignEnabledSetting, checked);
268+
this.logger.trackEvent(`${checked ? 'Checked' : 'Unchecked'}: Preview new UI design`);
269+
this.eventManager.dispatchEvent('onSaveChanges');
270+
this.eventManager.dispatchEvent('onDataPush'); // Needed to reload the runtime part
271+
}}
272+
/>
273+
}
260274
</div>
261275
</>
262276
)

src/constants.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,16 @@ export const fuiTheme: Theme = {
368368
*/
369369
export const isRedesignEnabledSetting = "isRedesignEnabled";
370370

371+
/**
372+
* Key for the theme setting
373+
*/
374+
export const themeSetting = "theme";
375+
376+
/**
377+
* Value of the new theme setting
378+
*/
379+
export const newTheme = "apim-v2";
380+
371381
/**
372382
* Key for the setting that tracks if reset to the new theme is enabled
373383
*/

templates/default.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

templates/fui/default.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)