aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-09 21:47:45 -0800
committerFuwn <[email protected]>2023-12-09 21:47:45 -0800
commit24707d853dd4aa390c34484873d842c52a96b6e8 (patch)
tree5a3c1733279e81bcabb67624607bf5fed611a89f
parentfeat(settings): add new keys to settings (diff)
downloaddue.moe-24707d853dd4aa390c34484873d842c52a96b6e8.tar.xz
due.moe-24707d853dd4aa390c34484873d842c52a96b6e8.zip
feat(settings): remove unused defaults
-rw-r--r--src/stores/settings.ts25
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;