deckhearth/pages
Randall Stillwell 67073aab7f feat(catalog): Scryfall bulk data import + Tagger community tags
Add full Scryfall bulk data pipeline:

- Migration: 13 new columns on `cards` (oracle_id, illustration_id,
  color_identity, keywords, legalities, flavor_text, artist, released_at,
  layout, edhrec_rank, reserved, reprint, finishes) with GIN indexes
  for JSONB search.
- Migration: `tags` + `card_tags` tables for Tagger community data.
- Script: `bulk-import-scryfall.js` — downloads Oracle Cards bulk file
  (168 MB) and upserts all 36k+ MTG cards with rich metadata.
- Script: `import-scryfall-tags.js` — imports oracle tags (4.5k tags,
  227k taggings) and art tags (11k tags, 458k taggings).
- Lib: `bulk-sync.js` — runtime bulk sync callable from the admin API.
- Admin UI: mode toggle (incremental vs bulk) on catalog sync panel.

Enables Commander deck validation (color_identity), format legality
checks, keyword search, EDHREC popularity ranking, and functional
card tagging ("removal", "ramp", "draw") for deck building assistance.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-14 07:51:39 -05:00
..
admin feat(catalog): Scryfall bulk data import + Tagger community tags 2026-06-14 07:51:39 -05:00
api feat(catalog): Scryfall bulk data import + Tagger community tags 2026-06-14 07:51:39 -05:00
card feat(design-system): finish Liquid Glass — close all remaining sub-convoys (#96) 2026-06-03 20:34:06 -05:00
collection refactor(collection): useCollectionView + view (Brief 3) (#88) 2026-06-03 17:10:20 -05:00
community refactor(styles): retire .card; migrate 7 consumers to .glass-panel (#122) 2026-06-04 15:30:29 -05:00
deck refactor(deck): useDeckDetail + DeckDetailView (Brief 3) (#146) 2026-06-13 01:14:46 -05:00
invite feat(design-system): finish Liquid Glass — close all remaining sub-convoys (#96) 2026-06-03 20:34:06 -05:00
_app.js refactor(auth): collapse lib/auth-context.js + lib/admin-auth.js onto lib/use-auth.js (#31) 2026-05-26 22:58:08 -05:00
cards.js Extract AuthenticatedCards into hook + view (cards Brief 3). (#79) 2026-06-03 12:49:25 -05:00
collections.js refactor(collections): useCollectionsPage + view (Brief 3) (#87) 2026-06-03 17:10:17 -05:00
dashboard.js feat(design-system): redesign v2 #7 + #8 — dashboard rebuild + right-rail Card Spotlight (#107) 2026-06-04 11:21:58 -05:00
deck-builder.js refactor(design): site-wide sweep — broken Tailwind tokens, rounded corners, SearchBar primitive (#117) (#117) 2026-06-04 14:06:22 -05:00
decks.js refactor(decks): useDecksPage + DecksPageView (Brief 3) (#145) 2026-06-13 01:14:43 -05:00
index.js refactor(landing): use .page-header-glass for the nav bar (#120) 2026-06-04 15:30:22 -05:00
login.js refactor(auth): migrate login + signup form cards to .glass-panel-strong (#121) 2026-06-04 15:30:26 -05:00
logout.js 🎨 Restructured Layout System 2025-07-25 11:28:04 -05:00
my-cards.js refactor(design): site-wide sweep — broken Tailwind tokens, rounded corners, SearchBar primitive (#117) (#117) 2026-06-04 14:06:22 -05:00
profile.js refactor(styles): retire .card; migrate 7 consumers to .glass-panel (#122) 2026-06-04 15:30:29 -05:00
scanner.js feat(scanner): rebuild as mobile-first three-phase flow 2026-06-13 08:42:58 -05:00
settings.js refactor(styles): retire .card; migrate 7 consumers to .glass-panel (#122) 2026-06-04 15:30:29 -05:00
signup.js refactor(auth): migrate login + signup form cards to .glass-panel-strong (#121) 2026-06-04 15:30:26 -05:00