Local color override when editable is false (#56)

This commit is contained in:
Neil Dwyer 2024-05-13 12:13:23 -07:00 committed by GitHub
parent b25f3bb16a
commit f037e51716
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -84,6 +84,7 @@ export const ConfigProvider = ({
}) => {
const appConfig = useAppConfig();
const router = useRouter();
const [localColorOverride, setLocalColorOverride] = useState<string | null>(null);
const getSettingsFromUrl = useCallback(() => {
if(typeof window === 'undefined') {
@ -147,31 +148,36 @@ export const ConfigProvider = ({
const getConfig = useCallback(() => {
const appConfigFromSettings = appConfig;
if (appConfigFromSettings.settings.editable === false) {
if (localColorOverride) {
appConfigFromSettings.settings.theme_color = localColorOverride;
}
return appConfigFromSettings;
}
const cookieSettigs = getSettingsFromCookies();
const urlSettings = getSettingsFromUrl();
if(!cookieSettigs) {
if(urlSettings) {
if (!cookieSettigs) {
if (urlSettings) {
setCookieSettings(urlSettings);
}
}
if(!urlSettings) {
if(cookieSettigs) {
if (!urlSettings) {
if (cookieSettigs) {
setUrlSettings(cookieSettigs);
}
}
const newCookieSettings = getSettingsFromCookies();
if(!newCookieSettings) {
if (!newCookieSettings) {
return appConfigFromSettings;
}
appConfigFromSettings.settings = newCookieSettings;
return {...appConfigFromSettings};
return { ...appConfigFromSettings };
}, [
appConfig,
getSettingsFromCookies,
getSettingsFromUrl,
localColorOverride,
setCookieSettings,
setUrlSettings,
]);
@ -179,6 +185,7 @@ export const ConfigProvider = ({
const setUserSettings = useCallback((settings: UserSettings) => {
const appConfigFromSettings = appConfig;
if (appConfigFromSettings.settings.editable === false) {
setLocalColorOverride(settings.theme_color);
return
}
setUrlSettings(settings);