diff options
| author | Fuwn <[email protected]> | 2025-06-09 19:29:03 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-06-09 19:29:11 -0700 |
| commit | cd71e0b19c3b08481da417a7587921489343ef2e (patch) | |
| tree | 0847b7acfe908a64372e034590ea49724fdb4b98 /src/lib/List | |
| parent | feat(List): List filtering (diff) | |
| download | due.moe-cd71e0b19c3b08481da417a7587921489343ef2e.tar.xz due.moe-cd71e0b19c3b08481da417a7587921489343ef2e.zip | |
feat(List): Store list filter in stateBin
Diffstat (limited to 'src/lib/List')
| -rw-r--r-- | src/lib/List/Anime/CleanAnimeList.svelte | 13 | ||||
| -rw-r--r-- | src/lib/List/Manga/CleanMangaList.svelte | 13 |
2 files changed, 24 insertions, 2 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index fabbeec5..64b8fe55 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -15,6 +15,7 @@ import revalidateAnime from '$stores/revalidateAnime'; import CleanGrid from '$lib/List/CleanGrid.svelte'; import CleanList from '../CleanList.svelte'; + import stateBin from '$stores/stateBin'; export let media: Media[]; export let title: any; @@ -57,7 +58,17 @@ .map(([key]) => key) ) ); - let selectedList = 'All'; + let selectedList = stateBin.get().animeListFilter || 'All'; + + onMount(() => { + if (browser) { + const storedValue = stateBin.get().animeListFilter; + + if (typeof storedValue === 'string') selectedList = storedValue; + } + }); + + $: stateBin.setKey('animeListFilter', selectedList); $: filteredMedia = selectedList === 'All' diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte index 623f7c37..41a085d8 100644 --- a/src/lib/List/Manga/CleanMangaList.svelte +++ b/src/lib/List/Manga/CleanMangaList.svelte @@ -13,6 +13,7 @@ import '../covers.css'; import CleanGrid from '../CleanGrid.svelte'; import CleanList from '../CleanList.svelte'; + import stateBin from '$stores/stateBin'; export let media: Media[]; export let cleanCache: () => void; @@ -47,7 +48,17 @@ .map(([key]) => key) ) ); - let selectedList = 'All'; + let selectedList = stateBin.get().mangaListFilter || 'All'; + + onMount(() => { + if (browser) { + const storedValue = stateBin.get().mangaListFilter; + + if (typeof storedValue === 'string') selectedList = storedValue; + } + }); + + $: stateBin.setKey('mangaListFilter', selectedList); $: filteredMedia = selectedList === 'All' |