Some checks failed
CI / Lint (pull_request) Has been cancelled
CI / Schema map up to date (pull_request) Has been cancelled
CI / Forbidden patterns (9 checks) (pull_request) Has been cancelled
CI / Migrations apply (node-pg-migrate) (pull_request) Has been cancelled
Visual diff / Should run? (pull_request) Has been cancelled
CI / Unit tests (vitest) (pull_request) Has been cancelled
Convoy metrics gate / Require role-event telemetry on convoy PRs (pull_request) Has been cancelled
PR Health rollup / Aggregate gate status (pull_request) Has been cancelled
Preview smoke / Should run? (pull_request) Has been cancelled
Preview smoke / Playwright smoke (pull_request) Has been cancelled
Visual diff / Screenshot diff (pull_request) Has been cancelled
Add pricing schema, free API integrations (MTG bulk, TCGdex, Foolio), valuation and sort-by-price, card detail pricing UI, and nearby store discovery via home zip and OSM geo clients. Co-authored-by: Cursor <cursoragent@cursor.com>
1.9 KiB
1.9 KiB
| convoy | brief_number | depends_on | recommended_model | model_tier | files | cross_brief_commitments | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pricing-online-local | 9 |
|
composer-2.5 | standard |
|
|
Brief 9: Card detail pricing UI
Goal (1 sentence)
Replace placeholder Purchase and Price History tabs with live pricing data, staleness badge, and a simple history chart.
Files in scope (do not edit anything else)
components/card-detail/CardDetailPurchaseTab.jscomponents/card-detail/CardDetailPriceHistoryTab.jscomponents/CardDetailView.jslib/use-card-detail.jstest/components/CardDetailPurchaseTab.test.js
Conventions to follow
- Liquid Glass surfaces:
glass-panel, CSS variables — no hardcoded hex. - Purchase tab: staleness badge, outbound links from API
outbound. - Price History tab: line chart from
points; empty state when none. - Reserve insertion point for Brief 13 local stores section.
Acceptance criteria
- Purchase tab shows DB prices and staleness badge
- Price History tab renders data when points exist; empty state when none
- No placeholder “available soon” copy remains
- Component test verifies staleness badge text
- Tests pass
- No scope expansion
Rationale (≤3 sentences)
Delivers Phase 1 user-facing value on existing tab chrome. Keeps CardDetailView thin by extracting tab bodies. Documents insertion point for Phase 2 local stores.