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