🐛 Fix issue with config reset when navigating

This commit is contained in:
Meier Lukas
2023-07-31 22:50:45 +02:00
parent 35d505e9b1
commit 3047002558
2 changed files with 14 additions and 4 deletions

View File

@@ -8,9 +8,13 @@ export const useInitConfig = (initialConfig: ConfigType) => {
const { setConfigName, increaseVersion } = useConfigContext(); const { setConfigName, increaseVersion } = useConfigContext();
const configName = initialConfig.configProperties?.name ?? 'default'; const configName = initialConfig.configProperties?.name ?? 'default';
const initConfig = useConfigStore((x) => x.initConfig); const initConfig = useConfigStore((x) => x.initConfig);
const removeConfig = useConfigStore((x) => x.removeConfig);
useEffect(() => { useEffect(() => {
setConfigName(configName); setConfigName(configName);
initConfig(configName, initialConfig, increaseVersion); initConfig(configName, initialConfig, increaseVersion);
return () => {
removeConfig(configName);
};
}, [configName]); }, [configName]);
}; };

View File

@@ -38,10 +38,16 @@ export const ConfigProvider = ({
const currentConfig = configs.find((c) => c.value.configProperties.name === configName)?.value; const currentConfig = configs.find((c) => c.value.configProperties.name === configName)?.value;
useEffect(() => { useEffect(() => {
setPrimaryColor(currentConfig?.settings.customization.colors.primary || 'red'); const config = currentConfig ?? fallbackConfig;
setSecondaryColor(currentConfig?.settings.customization.colors.secondary || 'orange'); setPrimaryColor(config?.settings.customization.colors.primary || 'red');
setPrimaryShade(currentConfig?.settings.customization.colors.shade || 6); setSecondaryColor(config?.settings.customization.colors.secondary || 'orange');
}, [configName]); setPrimaryShade(config?.settings.customization.colors.shade || 6);
return () => {
setPrimaryColor('red');
setSecondaryColor('orange');
setPrimaryShade(6);
};
}, [currentConfig]);
return ( return (
<ConfigContext.Provider <ConfigContext.Provider