Local color override when editable is false (#56)
This commit is contained in:
parent
b25f3bb16a
commit
f037e51716
@ -84,6 +84,7 @@ export const ConfigProvider = ({
|
|||||||
}) => {
|
}) => {
|
||||||
const appConfig = useAppConfig();
|
const appConfig = useAppConfig();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const [localColorOverride, setLocalColorOverride] = useState<string | null>(null);
|
||||||
|
|
||||||
const getSettingsFromUrl = useCallback(() => {
|
const getSettingsFromUrl = useCallback(() => {
|
||||||
if(typeof window === 'undefined') {
|
if(typeof window === 'undefined') {
|
||||||
@ -147,31 +148,36 @@ export const ConfigProvider = ({
|
|||||||
|
|
||||||
const getConfig = useCallback(() => {
|
const getConfig = useCallback(() => {
|
||||||
const appConfigFromSettings = appConfig;
|
const appConfigFromSettings = appConfig;
|
||||||
|
|
||||||
if (appConfigFromSettings.settings.editable === false) {
|
if (appConfigFromSettings.settings.editable === false) {
|
||||||
|
if (localColorOverride) {
|
||||||
|
appConfigFromSettings.settings.theme_color = localColorOverride;
|
||||||
|
}
|
||||||
return appConfigFromSettings;
|
return appConfigFromSettings;
|
||||||
}
|
}
|
||||||
const cookieSettigs = getSettingsFromCookies();
|
const cookieSettigs = getSettingsFromCookies();
|
||||||
const urlSettings = getSettingsFromUrl();
|
const urlSettings = getSettingsFromUrl();
|
||||||
if(!cookieSettigs) {
|
if (!cookieSettigs) {
|
||||||
if(urlSettings) {
|
if (urlSettings) {
|
||||||
setCookieSettings(urlSettings);
|
setCookieSettings(urlSettings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!urlSettings) {
|
if (!urlSettings) {
|
||||||
if(cookieSettigs) {
|
if (cookieSettigs) {
|
||||||
setUrlSettings(cookieSettigs);
|
setUrlSettings(cookieSettigs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const newCookieSettings = getSettingsFromCookies();
|
const newCookieSettings = getSettingsFromCookies();
|
||||||
if(!newCookieSettings) {
|
if (!newCookieSettings) {
|
||||||
return appConfigFromSettings;
|
return appConfigFromSettings;
|
||||||
}
|
}
|
||||||
appConfigFromSettings.settings = newCookieSettings;
|
appConfigFromSettings.settings = newCookieSettings;
|
||||||
return {...appConfigFromSettings};
|
return { ...appConfigFromSettings };
|
||||||
}, [
|
}, [
|
||||||
appConfig,
|
appConfig,
|
||||||
getSettingsFromCookies,
|
getSettingsFromCookies,
|
||||||
getSettingsFromUrl,
|
getSettingsFromUrl,
|
||||||
|
localColorOverride,
|
||||||
setCookieSettings,
|
setCookieSettings,
|
||||||
setUrlSettings,
|
setUrlSettings,
|
||||||
]);
|
]);
|
||||||
@ -179,6 +185,7 @@ export const ConfigProvider = ({
|
|||||||
const setUserSettings = useCallback((settings: UserSettings) => {
|
const setUserSettings = useCallback((settings: UserSettings) => {
|
||||||
const appConfigFromSettings = appConfig;
|
const appConfigFromSettings = appConfig;
|
||||||
if (appConfigFromSettings.settings.editable === false) {
|
if (appConfigFromSettings.settings.editable === false) {
|
||||||
|
setLocalColorOverride(settings.theme_color);
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
setUrlSettings(settings);
|
setUrlSettings(settings);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user