aboutsummaryrefslogtreecommitdiff
path: root/src/lib/List
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-06-09 19:29:03 -0700
committerFuwn <[email protected]>2025-06-09 19:29:11 -0700
commitcd71e0b19c3b08481da417a7587921489343ef2e (patch)
tree0847b7acfe908a64372e034590ea49724fdb4b98 /src/lib/List
parentfeat(List): List filtering (diff)
downloaddue.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.svelte13
-rw-r--r--src/lib/List/Manga/CleanMangaList.svelte13
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'