gendesign/tradein-mvp/frontend
lekss361 96491352df feat(tradein): dev/CI preview route for a11y+lighthouse audits (#801)
UI-аудит инструментами (axe/lighthouse) требует отрендеренную контентную
страницу. Live trade-in за auth-gate, локальный фронт без бэкенда = белый экран
(RouteGuard висит на pending /me). Добавлен оффлайн preview «денежного экрана».

- src/app/ui-preview/estimate/{page,fixture}.tsx — рендерит реальные компоненты
  результата (HeroSummary + Cian + Distribution + Deals + StreetDeals + Exposure
  + PriceTrend) на статичной фикстуре AggregatedEstimate, без сети: свой
  QueryClient с засеянным фейковым /me (useMe/useBrand резолвятся оффлайн).
- RouteGuard: bypass /ui-preview/* под флагом (RBAC к preview не применяется).
- Гейт: NEXT_PUBLIC_ENABLE_PREVIEW=1 (иначе notFound) — в проде по умолчанию off.
  Папка ui-preview (НЕ _-prefix: Next трактует _* как private/non-routable).

Проверено локально (NEXT_PUBLIC_ENABLE_PREVIEW=1): страница рендерится оффлайн,
axe (wcag2a/aa) дал baseline — 2 serious: color-contrast (teal #14b8a6 на светлом
2.32<4.5) + svg-img-alt (recharts scatter без accessible text). tsc clean.

Refs #801. Followup: фиксы найденных axe-дефектов отдельными issue.
2026-05-30 20:35:22 +03:00
..
public fix(tradein): commit empty frontend/public via .gitkeep 2026-05-21 00:59:13 +03:00
src feat(tradein): dev/CI preview route for a11y+lighthouse audits (#801) 2026-05-30 20:35:22 +03:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile fix(tradein): HOSTNAME=0.0.0.0 + NEXT_PUBLIC_API_BASE_URL build-arg 2026-05-21 10:21:32 +03:00
next.config.ts fix(tradein): убрать basePath redirect-loop 2026-05-21 01:05:49 +03:00
package.json feat(tradein): house analytics section (chart + KPI + sold list) (#546) 2026-05-24 18:09:45 +00:00
pnpm-lock.yaml feat(tradein): house analytics section (chart + KPI + sold list) (#546) 2026-05-24 18:09:45 +00:00
tsconfig.json feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00