diff options
| author | Fuwn <[email protected]> | 2023-12-09 21:45:33 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-09 21:45:33 -0800 |
| commit | f8e43992af1e3903331db05ec14a6a2d3049bd36 (patch) | |
| tree | d943a78ae1f544de7e1a7a02ff3c048e3bb14370 /src | |
| parent | feat(html): use more screen area (diff) | |
| download | due.moe-f8e43992af1e3903331db05ec14a6a2d3049bd36.tar.xz due.moe-f8e43992af1e3903331db05ec14a6a2d3049bd36.zip | |
feat(settings): add new keys to settings
Diffstat (limited to 'src')
| -rw-r--r-- | src/routes/+layout.svelte | 2 | ||||
| -rw-r--r-- | src/stores/settings.ts | 23 |
2 files changed, 20 insertions, 5 deletions
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 364a4833..a2c11d4d 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -10,6 +10,8 @@ let currentUserIdentity = { name: '...', id: -1 }; onMount(async () => { + settings.get(); + if (data.user !== undefined) { if ($userIdentity === '') { userIdentity.set(JSON.stringify(await getUserIdentity(data.user))); diff --git a/src/stores/settings.ts b/src/stores/settings.ts index c57a6268..4a94bc4f 100644 --- a/src/stores/settings.ts +++ b/src/stores/settings.ts @@ -22,6 +22,10 @@ export interface Settings { displayPlannedAnime: boolean; displayFurigana: boolean; displayAoButa: 'mai' | 'nodoka' | 'kaede' | 'none'; + disableManga: boolean; + disableAnime: boolean; + disableUpcomingAnime: boolean; + [key: string]: unknown; } const defaultSettings: Settings = { @@ -40,6 +44,9 @@ const defaultSettings: Settings = { closeMangaByDefault: false, sortByDifference: false, displayAoButa: 'mai', + disableManga: false, + disableAnime: false, + disableUpcomingAnime: false, // Calculation roundDownChapters: true, @@ -74,13 +81,19 @@ const createStore = () => { const settingsKeys = Object.keys(state); if (keys.length !== settingsKeys.length) { - return defaultSettings; - } + 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)) { - return defaultSettings; + if (browser) { + localStorage.setItem('settings', JSON.stringify(updatedSettings)); } + + return updatedSettings; } return state; |