aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-04-17 14:59:33 +0000
committerFuwn <[email protected]>2026-04-17 14:59:33 +0000
commit1557b382a842be08e32fcd1706143b32b28cf21a (patch)
treec2e25483effc3562ae6046074380c12b9a94ad3d
parentMerge pull request #3 from Fuwn/feat/instant-cache-invalidation (diff)
downloaddue.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.svelte6
-rw-r--r--src/lib/List/Manga/CleanMangaList.svelte6
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>