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,7 +148,11 @@ 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();
@ -172,6 +177,7 @@ export const ConfigProvider = ({
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);