48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
|
|
---
|
|||
|
|
convoy: pricing-online-local
|
|||
|
|
brief_number: 13
|
|||
|
|
depends_on: [9, 11, 12]
|
|||
|
|
recommended_model: composer-2.5
|
|||
|
|
model_tier: standard
|
|||
|
|
files:
|
|||
|
|
- components/card-detail/CardDetailLocalStores.js
|
|||
|
|
- components/CardDetailView.js
|
|||
|
|
- lib/use-card-detail.js
|
|||
|
|
- test/components/CardDetailLocalStores.test.js
|
|||
|
|
cross_brief_commitments:
|
|||
|
|
- brief: 9
|
|||
|
|
description: |
|
|||
|
|
Inserts local stores section into the purchase tab area using the
|
|||
|
|
slot Brief 9 reserved. Does not rework purchase pricing UI.
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 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.js`
|
|||
|
|
- `components/CardDetailView.js`
|
|||
|
|
- `lib/use-card-detail.js`
|
|||
|
|
- `test/components/CardDetailLocalStores.test.js`
|
|||
|
|
|
|||
|
|
## Conventions to follow
|
|||
|
|
- Fetch `/api/stores/nearby` when 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.
|