diff options
| author | Fuwn <[email protected]> | 2026-03-28 08:49:52 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-03-28 08:49:52 +0000 |
| commit | 6eaee06bfd19da68030d12dfbe17a26f07719528 (patch) | |
| tree | 0cbb1c2ba466aa4b4b2f5b8406a0d1adc05febd5 /src | |
| parent | fix(cache): restore instant filters and shared AniList cache (diff) | |
| download | due.moe-6eaee06bfd19da68030d12dfbe17a26f07719528.tar.xz due.moe-6eaee06bfd19da68030d12dfbe17a26f07719528.zip | |
fix(filters): apply list filter changes immediately
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/List/Anime/CleanAnimeList.svelte | 12 | ||||
| -rw-r--r-- | src/lib/List/Manga/CleanMangaList.svelte | 12 |
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} |