From 1557b382a842be08e32fcd1706143b32b28cf21a Mon Sep 17 00:00:00 2001
From: Fuwn <contact@fuwn.net>
Date: Fri, 17 Apr 2026 14:59:33 +0000
Subject: 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.
---
 src/lib/List/Anime/CleanAnimeList.svelte | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

(limited to 'src/lib/List/Anime/CleanAnimeList.svelte')

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>
 
-- 
cgit v1.2.3

