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.5 KiB
1.5 KiB
| convoy | brief_number | depends_on | recommended_model | model_tier | files | cross_brief_commitments | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pricing-online-local | 13 |
|
composer-2.5 | standard |
|
|
Brief 13: Local stores card detail UI
Goal (1 sentence)
Show “Game stores near you” on card detail using saved home zip and the nearby stores API.
Files in scope (do not edit anything else)
components/card-detail/CardDetailLocalStores.jscomponents/CardDetailView.jslib/use-card-detail.jstest/components/CardDetailLocalStores.test.js
Conventions to follow
- Fetch
/api/stores/nearbywhen purchase tab active (auth required). - List: name, address, distance, phone/website links, OSM link — no in-store prices.
- Empty states: no zip → link to Settings; no stores → gentle copy.
- Liquid Glass styling consistent with Brief 9 components.
Acceptance criteria
- Stores render when user has home zip configured
- Prompt to set zip when missing
- No scraped in-store pricing shown
- Component test covers empty + populated states
- Tests pass
- No scope expansion
Rationale (≤3 sentences)
Completes Phase 2 user-facing goal on card detail. Depends on pricing UI shell from Brief 9 and backend from Briefs 11–12.