From 3944f7900dc1b022959c0d9947a7052713905451 Mon Sep 17 00:00:00 2001 From: dlynas <118506937+dlynas@users.noreply.github.com> Date: Fri, 8 May 2026 22:41:20 -0400 Subject: [PATCH] feat: smart selection filters for discography modal Adds a collapsible Filters panel to the discography modal with two independently toggleable controls: - One per album: redundancy detection that groups releases by normalized title within each type, deselects non-winners, and lets the user prefer "Most complete" (most tracks, then latest) or "Original" (earliest release, then fewest tracks) - Variant chips: auto-detected release type tags (Remaster, Deluxe, Live, Compilation, etc.) with per-type counts, shown only for types present in the discography; toggling a chip deselects all matching releases Filtered cards are deselected and greyed out rather than hidden, and move to a collapsible "N not selected" section at the bottom so the user can individually re-add them. The Select All / Deselect All buttons are merged into a single context-aware toggle. Sort also applies to the deselected section. Co-Authored-By: Claude Sonnet 4.6 --- webui/static/library.js | 333 +++++++++++++++++++++++++++++++++------- webui/static/style.css | 57 +++++++ 2 files changed, 333 insertions(+), 57 deletions(-) diff --git a/webui/static/library.js b/webui/static/library.js index f82d712d..65807dff 100644 --- a/webui/static/library.js +++ b/webui/static/library.js @@ -2458,13 +2458,22 @@ async function openDiscographyModal() { - - + + +
+
+
${allReleases.map((r, i) => _renderDiscogCard(r, i, completionData)).join('')}
+