Files
marketplaces/docs/FRONTEND-ROADMAP.md
sdarbinyan e4c1c6e2a0 docs: sync documentation after perf/a11y/release-candidate work
- PROJECT.md: Current Status updated (perf/a11y/RC walkthrough all
  done, new report docs added to index).
- FRONTEND-ROADMAP.md: RC PERF-01, RC A11Y-01, and Release Candidate
  walkthrough entries added; known-open-items list updated (2 new
  flags from RC walkthrough, primeng removal blocker, large chunks,
  backend-ready sprint explicitly deferred pending a real API contract).
- KNOWN-ISSUES.md: corrected item 6 (payment modal focus-trap
  assumption was wrong, now actually fixed); added items 9-12 (brand
  contrast failures, Contacts content gap, WYSIWYG editor mislabeled,
  primeng removal blocker); added 2 Fixed entries for this cycle's
  P0s (query-param routing, Categories CRUD).
- Graphify graph regenerated (graphify-out/, cache only, not tracked).
- Obsidian: skipped, no running Obsidian instance in this session.
- No architecture change this cycle (perf/a11y/bug fixes only) — no
  new ADR.
- No application code touched.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-24 10:51:05 +04:00

49 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 `<th scope="col">`, dead CSS (~530-line unused cart `.alt` theme). Detail: `docs/UI-COMPOSITION-REVIEW.md`.
**RC-Premium-01 — Storefront premium UX polish**
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 `<details>` disclosures. Four commits (Home/Catalog/Search, Product/Compare/Wishlist, Cart/Checkout, Static Pages). Detail: `docs/STORE_FRONT_UX_REVIEW.md`.
**RC STORE-01 — Storefront cleanup**
Closed 2 of the 5 gaps RC-Premium-01 deliberately deferred: category/search skeleton markup migrated to shared `app-skeleton`, dead cart `.email-form` markup/CSS removed. The other 3 (payment modal, cart confirm() dialog, untokenized colors) need an architecture/design-system decision, correctly left alone again. Detail: `docs/STORE_REVIEW.md`.
**RC PERF-01 — Performance audit** (production-readiness, app-wide)
Initial bundle **1.47 MB → 1.12 MB raw (24%)**: biggest win was lazy-loading en/hy i18n packs (346 KB were eagerly loaded regardless of visitor language), plus a dead `items-carousel`/primeng-only component deleted, dead global CSS removed. RxJS/change-detection audit found the codebase already clean (0 leaks, 190/191 components already OnPush). Detail: `docs/PERFORMANCE_REPORT.md`.
**RC A11Y-01 — WCAG 2.1 AA audit** (storefront, builder, backoffice)
Added the app's first skip link (didn't exist anywhere before), fixed cart's custom payment modals having zero focus-trap, fixed `app-icon`'s "decorative by default" claim never actually being implemented, fixed 2 keyboard-inaccessible drag-and-drop reorder UIs (Builder homepage/footer, Backoffice categories), fixed an undefined `--color-primary` token in Builder, fixed admin sidebar nav announcing itself as "Dashboard" everywhere. Contrast fixes applied where safe; genuine brand-color contrast failures flagged for theme-owner sign-off, not changed unilaterally. Detail: `docs/ACCESSIBILITY_REPORT.md`.
**Release Candidate — live browser walkthrough** (storefront, builder, backoffice)
Found and fixed **2 P0s**: (1) `language.guard.ts`'s legacy-URL redirect broke query params on every route app-wide (silently dead-ended any bookmarked/shared deep link with query params); (2) Backoffice Categories CRUD was completely broken end-to-end — wrong gateway-resolution fallback always picked the real HTTP gateway instead of the local mock in this environment, so every create/publish silently failed with zero user feedback. Plus 6 P1s (cart description, compare table raw enum values, search empty-state messaging, footer link 404, missing placeholder image, builder save-bar reset-state bug, backoffice mislabeled button). Detail: `docs/RELEASE_REPORT.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`. Summary:
- Payment modal / bank-payment iframe on Cart still custom (own focus-trap, multi-step state — note: RC A11Y-01 added a real focus-trap to it, but it's still not `app-dialog` itself) — candidate for `app-dialog` migration.
- Cart's native `confirm()` on clear-cart — no existing confirm-dialog pattern to follow yet.
- Genuine brand-color contrast failures (`--border-color`, `--success/warning/error/info-color` as text) — flagged by RC A11Y-01, need theme-owner sign-off before changing.
- `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.
- Footer "Contacts" link has no static-page content in mock data — needs a content decision (found during RC walkthrough).
- Builder's static-page body editor is hidden inside a collapsed "Advanced" section, mislabeled "Source HTML (advanced)" — works, but needs a navigation/labeling decision (found during RC walkthrough).
- ~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.
- `primeng`/`primeicons` still in `package.json` despite the only consumer being deleted (RC PERF-01) — `npm uninstall` blocked by an unrelated broken `barry-cache` devDependency (`ETARGET`); fix that first.
- 2 large lazy chunks (`project-editor` 320 kB, `catalog-container` 126 kB) — no mechanical split found, needs a dedicated task.
- Backend integration: still mostly PLANNED/mock — a "backend ready" sprint was attempted and explicitly deferred (2026-07-24) pending a real API contract (no `docs/BACKEND-API.md`, no live endpoint confirmation beyond what's already CURRENT).
## Not audited / out of scope
Settings (no route exists), Diagnostics (dev-only, excluded from production).