mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-11 18:56:41 +00:00
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { useEffect } from 'react';
|
|
|
|
import { useAppConfig } from '@app/useAppConfig';
|
|
import { useIsThemeV2 } from '@app/useIsThemeV2';
|
|
|
|
export function useShowNavBarRedesign() {
|
|
const appConfig = useAppConfig();
|
|
const isThemeV2Enabled = useIsThemeV2();
|
|
|
|
if (!appConfig.loaded) {
|
|
return loadFromLocalStorage();
|
|
}
|
|
|
|
return appConfig.config.featureFlags.showNavBarRedesign && isThemeV2Enabled;
|
|
}
|
|
|
|
export function useSetNavBarRedesignEnabled() {
|
|
const isNavBarRedesignEnabled = useShowNavBarRedesign();
|
|
|
|
useEffect(() => {
|
|
setThemeV2LocalStorage(isNavBarRedesignEnabled);
|
|
}, [isNavBarRedesignEnabled]);
|
|
}
|
|
|
|
function setThemeV2LocalStorage(isNavBarRedesignEnabled: boolean) {
|
|
if (loadFromLocalStorage() !== isNavBarRedesignEnabled) {
|
|
saveToLocalStorage(isNavBarRedesignEnabled);
|
|
}
|
|
}
|
|
|
|
const NAV_BAR_REDESIGN_STATUS_KEY = 'isNavBarRedesignEnabled';
|
|
|
|
function loadFromLocalStorage(): boolean {
|
|
return localStorage.getItem(NAV_BAR_REDESIGN_STATUS_KEY) === 'true';
|
|
}
|
|
|
|
function saveToLocalStorage(isNavBarRedesignEnabled: boolean) {
|
|
localStorage.setItem(NAV_BAR_REDESIGN_STATUS_KEY, String(isNavBarRedesignEnabled));
|
|
}
|