# Frontend Roadmap
Status snapshot, refreshed from recent commits only. Full sprint history: `docs/SPRINT-PLAN.md`. Open bugs: `docs/KNOWN-ISSUES.md`.
## Recently shipped
**RC-Visual-02 — Composition audit** (storefront, builder, backoffice)
Fixed undefined CSS theme vars, hand-rolled skeletons/empty-states migrated to shared `app-skeleton`/`app-empty-state`/`app-button`, missing `
`, dead CSS (~530-line unused cart `.alt` theme). Detail: `docs/UI-COMPOSITION-REVIEW.md`.
**RC-Premium-01 — Storefront premium UX polish** (this session)
Visual/interaction polish on top of the RC-Visual-02 baseline — no redesign, no logic/route changes. Fixed color-only state signaling app-wide (added `aria-pressed`/`aria-current`/`aria-live` + icon/checkmark pairing to selected swatches, active filters/tabs/sort, toggle buttons), normalized remaining hardcoded hex to design tokens, added hover/focus-visible/active/disabled states across interactive controls, capped legal/CMS prose at 70ch, converted FAQ to native `` disclosures. Four commits (Home/Catalog/Search, Product/Compare/Wishlist, Cart/Checkout, Static Pages). Detail: `docs/STORE_FRONT_UX_REVIEW.md`.
## Sprint status
**Sprint 30 — Final Release**: verify pass re-run 2026-07-23 (tsc --noEmit, `npm run build`, `arch:check:boundaries`, `arch:check:cycles`) — all green, only pre-existing bundle-budget warning. Working tree otherwise clean. Only remaining item: `git push` of 10 local `B2B` commits to `origin/B2B` — awaiting explicit user go-ahead (declined once already this sprint, per safety rules re-ask each time). Full checklist: `docs/SPRINT-PLAN.md`.
## Known open items (not yet scheduled)
Full detail in `docs/KNOWN-ISSUES.md` (items 1-10) / `docs/STORE_FRONT_UX_REVIEW.md`. Summary:
- `pages/category` and `pages/search` still use hand-rolled skeleton markup instead of `app-skeleton` (composition fix, RC-Visual-02 territory).
- Payment modal / bank-payment iframe on Cart still custom (own focus-trap, multi-step state) — candidate for `app-dialog` migration.
- Cart's native `confirm()` on clear-cart — no existing confirm-dialog pattern to follow yet.
- Cart's dead `.email-form` CSS block — cleanup candidate.
- `stars.component` rating glyph color and a few legacy hex literals in `pages/category`/`pages/search` have no exact token match — needs a deliberate token-extension decision.
- Homepage hero-to-categories dead-space gap — traces to mock bootstrap config, not a code defect; needs real-tenant-data reproduction.
- ~178 missing `adminXxx.*` i18n keys across admin backoffice.
- Theme Mode (dark/system) selector has no runtime CSS effect — real feature project, not a wiring fix.
- `dynamic-renderer/` pipeline exists but is unwired — needs a finish-or-delete decision.
## Not audited / out of scope
Settings (no route exists), Diagnostics (dev-only, excluded from production).
|