Deck status (Idea/Building/Built/Retired) and pulled-card tracking
Only building and built decks now claim owned copies, so several idea decks can share one copy without an over-assignment warning. Deck cards track how many copies are physically pulled: physical decks list cards to pull with their source (a storage box, or another deck to take a copy from), and idea decks split cards into available / in other decks / not owned. The deck list shows status chips with to-pull counts, filters by status, and collapses retired decks. Status and pulled counts sync, which bumps the library document to version 4. Existing decks migrate as ideas. Closes #25 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1715,6 +1715,78 @@ tbody tr:hover {
|
||||
color: var(--text-strong);
|
||||
}
|
||||
|
||||
/* A deck that's an idea or retired: listed, but holding no copies. */
|
||||
.deck-chip.deck-chip-idea,
|
||||
.badge.deck-chip-idea {
|
||||
border-style: dashed;
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
Deck status: Idea / Building / Built / Retired
|
||||
============================================================ */
|
||||
|
||||
.deck-status-chip {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
border-radius: var(--radius-pill);
|
||||
padding: 1px 8px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
white-space: nowrap;
|
||||
border: 1px solid var(--border);
|
||||
color: var(--muted);
|
||||
margin-right: 4px;
|
||||
}
|
||||
.deck-status-chip.idea {
|
||||
border-style: dashed;
|
||||
}
|
||||
.deck-status-chip.building {
|
||||
border-color: var(--warn);
|
||||
color: var(--warn);
|
||||
}
|
||||
.deck-status-chip.built {
|
||||
border-color: var(--success);
|
||||
background: var(--success);
|
||||
color: #fff;
|
||||
}
|
||||
.deck-status-chip.retired {
|
||||
color: var(--faint);
|
||||
}
|
||||
.deck-status-hint {
|
||||
flex-basis: 100%;
|
||||
font-size: var(--fs-caption);
|
||||
}
|
||||
.deck-gallery-retired {
|
||||
margin-top: var(--space-5);
|
||||
}
|
||||
.deck-gallery-retired > summary {
|
||||
cursor: pointer;
|
||||
font-weight: 600;
|
||||
color: var(--muted);
|
||||
margin-bottom: var(--space-3);
|
||||
}
|
||||
|
||||
/* Where a deck card's copies are: the "To pull" source and its action. */
|
||||
.whereabouts {
|
||||
display: inline-flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 4px 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.whereabouts.compact {
|
||||
font-size: 11px;
|
||||
}
|
||||
.pull-source {
|
||||
color: var(--text);
|
||||
}
|
||||
button.pull-action {
|
||||
padding: 1px 8px;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
Bulk-selection action bar (Library tab)
|
||||
============================================================ */
|
||||
|
||||
Reference in New Issue
Block a user