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 (