feat(tradein/v2): HUD-редизайн страницы оценки (Макс) → /trade-in/v2 #2035

Merged
lekss361 merged 1 commit from feat/tradein-v2-layout into main 2026-06-28 09:58:55 +00:00
Owner

Что это

Порт пиксель-дизайна Макса «МЕРА Оценка» (HUD/blueprint) в новую страницу /trade-in/v2. Старая страница /trade-in (v1) не тронута — это параллельная версия для ревью.

Источник дизайна: МЕРА Оценка.dc.html (Telegram, образцы Макса).

Объём (markup-first)

Вёрстка 1:1 с макетом. Данные пока из fixtures.ts (sample-данные дизайна), без подключения к API — wiring к боевым ручкам вынесен отдельной задачей (см. ниже).

Структура:

  • app/trade-in/v2/{layout,page}.tsx — route-segment с шрифтами Manrope + IBM Plex Mono (next/font, self-hosted) + client-shell со стейтом (вкладки, drawer).
  • components/trade-in/v2/ (15 файлов):
    • foundation: tokens.ts (палитра HUD), types.ts, fixtures.ts
    • dashboard: TopNav, HeroBar, ParamsPanel (01), ResultPanel (02), ObjectSummary (03), Footer
    • overlay: SectionOverlay + HistoryView (Продажи в доме) / SourcesView (Аналогичные объявления) / AnalyticsView (Аналитика) / CacheView (Предыдущие оценки)
    • LocationDrawer (Коэффициент локации)
  • public/trade-in-v2/building.png

Интерактив (локальный useState, без API): вкладки → overlay-секции, drawer коэф. локации, дропдауны параметров, балкон-тоггл, user-меню.

Конвенции

  • TS strict, без any; цвета из tokens.ts; hover/анимации — локальные <style> с префиксами (без общего CSS).
  • Не тронуты: v1, корневой layout.tsx, package.json/lockfile (next/font bundled).

Верификация

  • next build зелёный (/trade-in/v2 20.1 kB / 198 kB First Load, 23/23 страниц). Единственный warning — <img> в HeroBar (@next/next/no-img-element), для markup-first ОК.
  • tsc --noEmit по файлам v2 — 0 ошибок.
  • Визуально проверено через Playwright (1536×1024): dashboard, overlay «Аналитика», overlay «Продажи в доме», drawer «Коэф. локации» — все рендерятся пиксель-в-пиксель с макетом Макса.

Процесс сборки

Собрано multi-agent workflow (foundation → 11 компонентов pipeline build→fidelity-review→fix → completeness-critic → build-gate).

Дальше

  • Wiring к боевым trade-in API («ручки») — отдельная задача (текущий AggregatedEstimate покрывает малую часть макета; нужны: 3 раздельные оценки + CV/источники, коэф. локации с разложением, история дома, ДКП по улице, аналитика дома, предыдущие оценки, PDF-отчёт, геокодер-автокомплит, CRM).
  • Responsive (макет фикс 1536×1024) — при необходимости.

Не мержить без ревью дизайна (Макс/заказчик) — это design-acceptance артефакт.

## Что это Порт пиксель-дизайна Макса «МЕРА Оценка» (HUD/blueprint) в новую страницу **`/trade-in/v2`**. Старая страница **`/trade-in` (v1) не тронута** — это параллельная версия для ревью. Источник дизайна: `МЕРА Оценка.dc.html` (Telegram, образцы Макса). ## Объём (markup-first) Вёрстка 1:1 с макетом. Данные пока из **`fixtures.ts`** (sample-данные дизайна), **без подключения к API** — wiring к боевым ручкам вынесен отдельной задачей (см. ниже). **Структура:** - `app/trade-in/v2/{layout,page}.tsx` — route-segment с шрифтами Manrope + IBM Plex Mono (`next/font`, self-hosted) + client-shell со стейтом (вкладки, drawer). - `components/trade-in/v2/` (15 файлов): - foundation: `tokens.ts` (палитра HUD), `types.ts`, `fixtures.ts` - dashboard: `TopNav`, `HeroBar`, `ParamsPanel` (01), `ResultPanel` (02), `ObjectSummary` (03), `Footer` - overlay: `SectionOverlay` + `HistoryView` (Продажи в доме) / `SourcesView` (Аналогичные объявления) / `AnalyticsView` (Аналитика) / `CacheView` (Предыдущие оценки) - `LocationDrawer` (Коэффициент локации) - `public/trade-in-v2/building.png` **Интерактив** (локальный `useState`, без API): вкладки → overlay-секции, drawer коэф. локации, дропдауны параметров, балкон-тоггл, user-меню. ## Конвенции - TS strict, без `any`; цвета из `tokens.ts`; hover/анимации — локальные `<style>` с префиксами (без общего CSS). - Не тронуты: v1, корневой `layout.tsx`, `package.json`/lockfile (next/font bundled). ## Верификация - `next build` ✅ зелёный (`/trade-in/v2` 20.1 kB / 198 kB First Load, 23/23 страниц). Единственный warning — `<img>` в HeroBar (`@next/next/no-img-element`), для markup-first ОК. - `tsc --noEmit` по файлам v2 — 0 ошибок. - Визуально проверено через Playwright (1536×1024): dashboard, overlay «Аналитика», overlay «Продажи в доме», drawer «Коэф. локации» — все рендерятся пиксель-в-пиксель с макетом Макса. ## Процесс сборки Собрано multi-agent workflow (foundation → 11 компонентов pipeline build→fidelity-review→fix → completeness-critic → build-gate). ## Дальше - [ ] Wiring к боевым trade-in API («ручки») — отдельная задача (текущий `AggregatedEstimate` покрывает малую часть макета; нужны: 3 раздельные оценки + CV/источники, коэф. локации с разложением, история дома, ДКП по улице, аналитика дома, предыдущие оценки, PDF-отчёт, геокодер-автокомплит, CRM). - [ ] Responsive (макет фикс 1536×1024) — при необходимости. > Не мержить без ревью дизайна (Макс/заказчик) — это design-acceptance артефакт.
lekss361 added 1 commit 2026-06-28 09:49:36 +00:00
feat(tradein/v2): HUD-редизайн страницы оценки (Макс) как /trade-in/v2
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 58s
CI / openapi-codegen-check (pull_request) Successful in 1m52s
b9e2561139
Порт пиксель-дизайна МЕРА Оценка (HUD/blueprint) в новую страницу
/trade-in/v2 — v1 (/trade-in) не тронут.

- markup-first: данные из fixtures.ts (sample-данные дизайна), без API
- tokens.ts (палитра HUD), types.ts, fixtures.ts (foundation)
- Manrope + IBM Plex Mono через next/font (self-hosted)
- NAV + HERO (фото) + 01 Параметры + 02 Результат + 03 Сводка + FOOTER
- overlay-секции: Продажи в доме / Аналогичные объявления / Аналитика / Предыдущие оценки
- drawer Коэффициент локации
- интерактив (вкладки→overlay, drawer, дропдауны) на локальном useState

Wiring к боевым ручкам — отдельной задачей (см. issue).
lekss361 merged commit fba41c0cce into main 2026-06-28 09:58:55 +00:00
lekss361 deleted branch feat/tradein-v2-layout 2026-06-28 09:58:55 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2035
No description provided.