refactor(card-item): tokenize list-mode palette (cleanup Brief 1) #128
No reviewers
Labels
No labels
agent-context-drift
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: rstillwell/deckhearth#128
Loading…
Reference in a new issue
No description provided.
Delete branch "cleanup-brief-1-card-item-list-mode"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Brief 1 of
cleanup-card-item-list-and-share-modal-palette. Pure palette token sweep acrosscomponents/CardItem.jslist-mode (lines ~181-295). No structural changes, no glass-panel migration, no grid-mode edits.Fixes a dark-mode rendering bug: list-mode was previously using
text-gray-900/bg-purple-50/border-gray-200/etc. with nodark:variants, making it unreadable in dark theme.Files changed
components/CardItem.js— list-mode only (L181-295). Net diff: +52 / -20.Migration table
border-purple-500 bg-purple-50 shadow-md(selected)borderColor: var(--accent-ember)+backgroundColor: rgba(255,110,0,0.08)+boxShadow: var(--rim-light-inner)border-gray-200 hover:border-gray-300 hover:shadow-sm(default)borderColor: var(--border)+nav-item-hover(ember-tinted hover from unify convoy)rounded-lg(row + buttons)rounded-xl(convoy consistency)bg-gray-200(image placeholder)var(--bg-tertiary)text-gray-400("No Image" fallback)var(--text-secondary)text-gray-900(card name)var(--text-primary)text-gray-600/text-gray-500(set / rarity / type)var(--text-secondary)bg-blue-100 text-blue-800(game badge)var(--bg-tertiary)+var(--text-primary)+ 1px ember border for visible delimitertext-green-600(price)var(--accent-flame)text-red-500 hover:text-red-600(favorited heart)var(--accent-ember)text-gray-400 hover:text-red-500(unfavorited heart)var(--text-secondary)+nav-item-hovertext-blue-600 hover:text-blue-700 hover:bg-blue-50(add-to-list)var(--accent-ember)+nav-item-hovertext-green-600 hover:text-green-700 hover:bg-green-50(add-to-deck)var(--accent-flame)+nav-item-hoverDecision: price color (warm vs semantic green)
Replaced
text-green-600withvar(--accent-flame)(warm orange-red) rather than keeping a literal#16a34a. Rationale: the rest of the row is on the ember palette and a single warm-tone price tag reads as "primary value" rather than "positive delta from baseline". Easy to revert to the green literal if dark-mode reviewers prefer it.Out of scope (per Brief 1 § Known constraints)
CardItem.jsare all in grid-mode'sgetRarityEffects()(L150, L157, L172) + grid placeholder (L350, L359). Out of scope.Acceptance criteria
sed -n '181,295p' components/CardItem.js | grep -nE 'bg-(purple|blue|gray|red|green)-[0-9]|text-(...)|border-(...)'→ 0 matches.npm run lintpasses (1 pre-existing unrelated warning).npm run test:run: 118/118 tests pass.Test plan (manual — dark mode is critical)
/cardsor/my-cardsin list view (toggle the view-mode switch).Related
.convoys/cleanup-card-item-list-and-share-modal-palette.mdShareModal.jsinterior token sweep.design-sweep-pass).Made with Cursor
The latest updates on your projects. Learn more about Vercel for GitHub.