diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/stores/settings.ts | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/src/stores/settings.ts b/src/stores/settings.ts index 4a94bc4f..351ff21c 100644 --- a/src/stores/settings.ts +++ b/src/stores/settings.ts @@ -79,24 +79,15 @@ const createStore = () => { get: () => { const keys = Object.keys(defaultSettings); const settingsKeys = Object.keys(state); + const updatedSettings = { ...state }; - if (keys.length !== settingsKeys.length) { - const updatedSettings = { ...state }; + for (const key of keys) + if (!settingsKeys.includes(key)) + updatedSettings[key] = defaultSettings[key as keyof Settings]; - for (const key of keys) { - if (!settingsKeys.includes(key)) { - updatedSettings[key] = defaultSettings[key as keyof Settings]; - } - } + if (browser) localStorage.setItem('settings', JSON.stringify(updatedSettings)); - if (browser) { - localStorage.setItem('settings', JSON.stringify(updatedSettings)); - } - - return updatedSettings; - } - - return state; + return updatedSettings; }, setKey: (key: keyof Settings, value: unknown) => update((settings) => ({ ...settings, [key]: value })) @@ -106,9 +97,7 @@ const createStore = () => { const settings = createStore(); settings.subscribe((value) => { - if (browser) { - localStorage.setItem('settings', JSON.stringify(value)); - } + if (browser) localStorage.setItem('settings', JSON.stringify(value)); }); export default settings; |