From 3047002558c74620476e91a7f11d0ec518bf00f2 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Mon, 31 Jul 2023 22:50:45 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20issue=20with=20config=20re?= =?UTF-8?q?set=20when=20navigating?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config/init.ts | 4 ++++ src/config/provider.tsx | 14 ++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/config/init.ts b/src/config/init.ts index c2d98829c..e078332ed 100644 --- a/src/config/init.ts +++ b/src/config/init.ts @@ -8,9 +8,13 @@ export const useInitConfig = (initialConfig: ConfigType) => { const { setConfigName, increaseVersion } = useConfigContext(); const configName = initialConfig.configProperties?.name ?? 'default'; const initConfig = useConfigStore((x) => x.initConfig); + const removeConfig = useConfigStore((x) => x.removeConfig); useEffect(() => { setConfigName(configName); initConfig(configName, initialConfig, increaseVersion); + return () => { + removeConfig(configName); + }; }, [configName]); }; diff --git a/src/config/provider.tsx b/src/config/provider.tsx index a1a5b79ca..093535dc2 100644 --- a/src/config/provider.tsx +++ b/src/config/provider.tsx @@ -38,10 +38,16 @@ export const ConfigProvider = ({ const currentConfig = configs.find((c) => c.value.configProperties.name === configName)?.value; useEffect(() => { - setPrimaryColor(currentConfig?.settings.customization.colors.primary || 'red'); - setSecondaryColor(currentConfig?.settings.customization.colors.secondary || 'orange'); - setPrimaryShade(currentConfig?.settings.customization.colors.shade || 6); - }, [configName]); + const config = currentConfig ?? fallbackConfig; + setPrimaryColor(config?.settings.customization.colors.primary || 'red'); + setSecondaryColor(config?.settings.customization.colors.secondary || 'orange'); + setPrimaryShade(config?.settings.customization.colors.shade || 6); + return () => { + setPrimaryColor('red'); + setSecondaryColor('orange'); + setPrimaryShade(6); + }; + }, [currentConfig]); return (