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

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);