aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-03-28 08:49:52 +0000
committerFuwn <[email protected]>2026-03-28 08:49:52 +0000
commit6eaee06bfd19da68030d12dfbe17a26f07719528 (patch)
tree0cbb1c2ba466aa4b4b2f5b8406a0d1adc05febd5 /src/lib
parentfix(cache): restore instant filters and shared AniList cache (diff)
downloaddue.moe-6eaee06bfd19da68030d12dfbe17a26f07719528.tar.xz
due.moe-6eaee06bfd19da68030d12dfbe17a26f07719528.zip
fix(filters): apply list filter changes immediately
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/List/Anime/CleanAnimeList.svelte12
-rw-r--r--src/lib/List/Manga/CleanMangaList.svelte12
2 files changed, 16 insertions, 8 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte
index 683e54b4..808a8e5b 100644
--- a/src/lib/List/Anime/CleanAnimeList.svelte
+++ b/src/lib/List/Anime/CleanAnimeList.svelte
@@ -95,9 +95,13 @@ $: filteredMedia =
? media
: media.filter((m) => m.mediaListEntry?.customLists?.[selectedList]);
-const updateSelectedList = () => {
- if (!disableFilter && $stateBin[filterKey] !== selectedList)
- $stateBin[filterKey] = selectedList;
+const updateSelectedList = (event: Event) => {
+ const nextSelectedList = (event.currentTarget as HTMLSelectElement).value;
+
+ selectedList = nextSelectedList;
+
+ if (!disableFilter && $stateBin[filterKey] !== nextSelectedList)
+ $stateBin[filterKey] = nextSelectedList;
};
const clearAiringRefreshTimeout = () => {
@@ -238,7 +242,7 @@ const increment = (anime: Media, progress: number) => {
Force refresh
</button>
{:else if $settings.displayMediaListFilter && !disableFilter}
- <select bind:value={selectedList} onchange={updateSelectedList}>
+ <select value={selectedList} onchange={updateSelectedList}>
<option value="All">All</option>
{#each lists as list}
diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte
index 9727c26d..fb41253c 100644
--- a/src/lib/List/Manga/CleanMangaList.svelte
+++ b/src/lib/List/Manga/CleanMangaList.svelte
@@ -74,9 +74,13 @@ $: filteredMedia =
? media
: media.filter((m) => m.mediaListEntry?.customLists?.[selectedList]);
-const updateSelectedList = () => {
- if (!disableFilter && $stateBin[filterKey] !== selectedList)
- $stateBin[filterKey] = selectedList;
+const updateSelectedList = (event: Event) => {
+ const nextSelectedList = (event.currentTarget as HTMLSelectElement).value;
+
+ selectedList = nextSelectedList;
+
+ if (!disableFilter && $stateBin[filterKey] !== nextSelectedList)
+ $stateBin[filterKey] = nextSelectedList;
};
onMount(async () => {
@@ -169,7 +173,7 @@ const increment = (manga: Media) => {
You can re-enable it later in the <a href={root('/settings')}>Settings</a>.
</span>
{:else if $settings.displayMediaListFilter && !disableFilter}
- <select bind:value={selectedList} onchange={updateSelectedList}>
+ <select value={selectedList} onchange={updateSelectedList}>
<option value="All">All</option>
{#each lists as list}