Deck builder: advanced card filter in a popup

A filter button beside the deck's quick filter opens the Library's full
card filter as a popup. The deck's sections narrow to the cards it
matches, found with the same reference search scoped to the deck
(main board and maybeboard). The button lights up while a filter is on,
and the popup shows how many cards match, with Clear filters and Done.
CardFilterPanel gains options to hide Name / In deck and to stay
expanded.

Closes #6

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 21:31:28 -05:00
parent 1e0cd50c7d
commit 6e524ccefa
4 changed files with 165 additions and 29 deletions

View File

@@ -3178,18 +3178,25 @@ button.pull-action {
.section-nav-tabs button,
.section-nav-jump > button {
height: 32px;
padding: 0 10px;
padding: 0 8px;
}
.section-nav .section-nav-top {
.section-nav .section-nav-top,
.section-nav .section-nav-adv {
flex-shrink: 0;
justify-content: center;
width: 32px;
padding: 0;
}
.section-nav-top svg {
.section-nav-top svg,
.section-nav-adv svg {
width: 16px;
height: 16px;
}
.section-nav .section-nav-adv.active {
background: var(--accent-subtle);
border-color: var(--accent-glow);
color: var(--accent-hover);
}
.section-nav-tabs {
display: flex;
gap: var(--space-1);
@@ -3236,12 +3243,13 @@ button.pull-action {
box-sizing: border-box;
flex: 1;
margin-left: auto;
min-width: 140px;
min-width: 120px;
max-width: 240px;
}
/* Below this the longest tab set (Available / In other decks / Not owned /
Maybeboard, with counts) plus a minimum-width filter no longer fits. */
@container (max-width: 740px) {
Maybeboard, with counts) plus ↑, a minimum-width filter and the
advanced-filter button no longer fits. */
@container (max-width: 730px) {
.section-nav-tabs {
display: none;
}