Deck builder: tag cards within a deck
Cards in a deck can carry free-form tags ("to remove", "ramp", …), set
from the card preview or, for several cards at once, from the bulk bar's
Tag… dialog. Tags belong to the card in that deck: they survive
maybeboard moves and quantity changes, go when the card leaves the deck,
and are copied when the deck is duplicated.
The list view gets a Tags column whose chips filter to their tag, tiles
show tags as footer badges, and the advanced filter popup gets a Tags
field (any / all, or untagged only). Select all now selects only the
cards shown, so a filtered view can be acted on as a whole.
Tags sync, which needs library document format 5; libraries without tags
keep writing their old version. Deploy the sync server before releasing
apps that write tags.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Design: deck card tags
|
||||
|
||||
Status: **proposed — not implemented.**
|
||||
Status: **implemented.**
|
||||
|
||||
## Context
|
||||
|
||||
@@ -132,8 +132,10 @@ v2–v4 followed the same rule.
|
||||
- `toggleSelectAllCards` works on the shown cards (main board and
|
||||
maybeboard, after filtering).
|
||||
- **[`components.tsx`](../src/components.tsx):**
|
||||
- `PreviewContext` gains `tags?`, `tagSuggestions?` and `onTagsChange?`.
|
||||
- The preview's deck section renders a `TagInput` when they're provided.
|
||||
- `PreviewContext` gains `tagSuggestions?`, and `PreviewCard` gains
|
||||
`tags?` (the context is per deck, the tags per card).
|
||||
- The preview's deck section renders a `TagInput` when `tagSuggestions`
|
||||
is provided, saving through `api.setDeckCardTags` like its other edits.
|
||||
- Reuse `TagInput` as it is.
|
||||
- **[`styles.css`](../src/styles.css):** tag chips (clickable look, and an
|
||||
active state while filtering), tile tag badges.
|
||||
|
||||
Reference in New Issue
Block a user