diff options
| author | Fuwn <[email protected]> | 2026-04-17 14:59:33 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-04-17 14:59:33 +0000 |
| commit | 1557b382a842be08e32fcd1706143b32b28cf21a (patch) | |
| tree | c2e25483effc3562ae6046074380c12b9a94ad3d | |
| parent | Merge pull request #3 from Fuwn/feat/instant-cache-invalidation (diff) | |
| download | due.moe-1557b382a842be08e32fcd1706143b32b28cf21a.tar.xz due.moe-1557b382a842be08e32fcd1706143b32b28cf21a.zip | |
fix(ui): hide media list filter when every list matches "All"
If every custom list contains every displayed media item, each option
yields the same result, so the picker is noise. Gate the select on a
reactive check that any list excludes at least one item.
| -rw-r--r-- | src/lib/List/Anime/CleanAnimeList.svelte | 6 | ||||
| -rw-r--r-- | src/lib/List/Manga/CleanMangaList.svelte | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index 35a12314..5c35686a 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -90,6 +90,10 @@ $: lists = Array.from( ), ); +$: hasDistinguishingList = lists.some((list) => + media.some((m) => !m.mediaListEntry?.customLists?.[list]), +); + $: filteredMedia = selectedList === "All" || !$settings.displayMediaListFilter ? media @@ -241,7 +245,7 @@ const increment = (anime: Media, progress: number) => { No anime to display. <button onclick={() => (animeLists = cleanCache(user, $identity))}> Force refresh </button> -{:else if $settings.displayMediaListFilter && !disableFilter} +{:else if $settings.displayMediaListFilter && !disableFilter && hasDistinguishingList} <select value={selectedList} onchange={updateSelectedList}> <option value="All">All</option> diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte index 497e2ae6..7d0bb144 100644 --- a/src/lib/List/Manga/CleanMangaList.svelte +++ b/src/lib/List/Manga/CleanMangaList.svelte @@ -83,6 +83,10 @@ $: lists = Array.from( ), ); +$: hasDistinguishingList = lists.some((list) => + media.some((m) => !m.mediaListEntry?.customLists?.[list]), +); + $: filteredMedia = selectedList === "All" || !$settings.displayMediaListFilter ? media @@ -189,7 +193,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} +{:else if $settings.displayMediaListFilter && !disableFilter && hasDistinguishingList} <select value={selectedList} onchange={updateSelectedList}> <option value="All">All</option> |