40 lines
2.7 KiB
Markdown
40 lines
2.7 KiB
Markdown
|
|
# Product Backlog
|
|||
|
|
|
|||
|
|
Items that need a client/business decision before any code is written — not blockers, not bugs, not backend work. Verified against current repo state 2026-07-26.
|
|||
|
|
|
|||
|
|
## Dark mode / Theme selector
|
|||
|
|
|
|||
|
|
`theme-section`'s light/dark/system dropdown saves correctly and `theme-engine.service.ts` sets a `data-theme-mode` attribute on `<html>`, but no CSS anywhere in the app reads that attribute — picking Dark or System changes nothing visually today. Theme palette colors themselves are unaffected (real CSS custom properties, genuinely live).
|
|||
|
|
|
|||
|
|
**Decision needed:** does the client want a real dark mode? If yes, this is a real feature project (dark palette + `[data-theme-mode]`/`prefers-color-scheme` strategy + a `matchMedia` listener for "system"), not a wiring fix.
|
|||
|
|
|
|||
|
|
## Brand color contrast (WCAG AA)
|
|||
|
|
|
|||
|
|
`--border-color` fails 3:1 UI-component contrast in every theme (1.24–1.42:1 measured); `--success`/`--warning`/`--error`/`--info-color` fail 4.5:1 when used as plain text-on-white in a handful of places. These are real palette colors, not a token bug — fixing means visibly changing the brand.
|
|||
|
|
|
|||
|
|
**Decision needed:** theme-owner sign-off on adjusted brand colors before any change ships.
|
|||
|
|
|
|||
|
|
## Design-token gap: `stars.component` rating glyph color
|
|||
|
|
|
|||
|
|
`src/app/features/website/product/engagement/components/stars/stars.component.scss:10` uses a literal hex (`#cdd6d5`) with no matching design token.
|
|||
|
|
|
|||
|
|
**Decision needed:** add a token for this exact shade, or intentionally reuse an existing token (visual shift either way) — needs a design-system owner's call, not an engineering guess.
|
|||
|
|
|
|||
|
|
## Footer "Contacts" page content
|
|||
|
|
|
|||
|
|
The footer's "Contacts" link (`footer-contacts` / `nav.contacts`) has no static-page content in the bootstrap mock data at all — unlike "About" (which was a route-name mismatch, already fixed), there's simply nothing written for Contacts.
|
|||
|
|
|
|||
|
|
**Decision needed:** what should the Contacts page actually say (address, phone, hours, map?) — a content question, not a code fix.
|
|||
|
|
|
|||
|
|
## Advanced analytics (traffic, funnels, heatmaps)
|
|||
|
|
|
|||
|
|
No data source exists for site traffic, conversion funnels, or heatmaps anywhere in the frontend or backend plan — this is a from-scratch analytics pipeline, not a missing endpoint.
|
|||
|
|
|
|||
|
|
**Decision needed:** does the client want this for launch or later, and which analytics vendor/build to use (build vs. buy).
|
|||
|
|
|
|||
|
|
## Payment providers
|
|||
|
|
|
|||
|
|
Current checkout supports QR and card via the existing custom payment flow (`bank-payment-modal`, `payViaCard`). No alternative payment providers are wired or planned.
|
|||
|
|
|
|||
|
|
**Decision needed:** if additional payment providers (e.g. wallets, buy-now-pay-later) are wanted, needs a business decision on which providers before any integration work starts.
|