2025-01-29 20:42:01 -05:00
|
|
|
import { useEffect } from 'react';
|
2025-04-16 16:55:38 -07:00
|
|
|
|
|
|
|
import { useAppConfig } from '@app/useAppConfig';
|
|
|
|
import { useIsThemeV2 } from '@app/useIsThemeV2';
|
2025-01-29 20:42:01 -05:00
|
|
|
|
|
|
|
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));
|
|
|
|
}
|