aboutsummaryrefslogtreecommitdiff
path: root/src/lib
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 /src/lib
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.
Diffstat (limited to 'src/lib')
-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>