offplan · online
Workstream · sales-app

sales-app-react — Anchor

Activeworkstreamsales-apppriority P0
Owner
roman
Created
2026-05-09
Plan
sales-app-react-module-sequence
Priority
P0
Tags
ux, architecture

Goal

Implement exterior-360, hotspot, and poi-detail modules — the screen Nadezhda's IA pivots on. First visible Riviera 360° in the React app, consuming the Phase 1 Pannellum wrapper + fixture POIs.

Council Review (CONV-30) amendments apply — see plans/sales-app-react-module-sequence.md §Council Review. Phase 2 amendments: A-SEQ-2 (two-stage page build — Phase 2 ships minimal route mounting <Exterior360>), A-DEMO-3 (author disabled-CTA tooltip copy), A-BRAND-5 (document cote/velvet visual gap in Storybook decorator).

Per-module 4-step design loop (CONV-30 amendment A-DEVUX-1): every module below is photo-heavy → skip wireframes; brief Roman first, build real-stub-with-real-assets, live-iterate via /inspect + optional /make-tweakable. PAUSE checkboxes are mandatory.

Drift-check (A-DEVUX-5): task list reordered to match What's Next (asset-fallback first, then hotspot, poi-detail, exterior-360, then route).

Tasks

Hotspot module

PoiDetail module

Exterior360 module

Phase 2 minimal route (A-SEQ-2)

Smoke + verification

What's Next

Confirm BOTH blockers are complete:

Then run the per-module 4-step design loop for each of: Hotspot → PoiDetail → Exterior360. All photo-heavy → skip wireframes, go straight to real-stub-with-real-assets. Brief Roman first ("here's what's on screen, what's not, why"). Implement. Live-iterate via /inspect and optionally /make-tweakable. Phase-end sign-off (A-DEVUX-3 evidence trail) before sales-app-react-selection unblocks.

Start with src/lib/asset-fallback.tsx (small helper, all three anchor modules consume), then Hotspot, then PoiDetail, then Exterior360 (composes the others), then the minimal Server-Component route per A-SEQ-2.

Key Context

Session Log