fix(tradein/v2): визуальный аудит — иерархия/честность/микрокопи (#2266) #2312

Merged
lekss361 merged 1 commit from fix/tradein-v2-visual-round3 into main 2026-07-03 20:35:39 +00:00
Owner

Summary

Живой визуальный аудит /trade-in/v2 («Мера») после honest-hero раунда нашёл HIGH/MEDIUM/LOW дефекты (прод, живая оценка Белинского 86) — фиксы по всему чеклисту:

  • H1 — честный fallback флагманской карточки при expected_sold_price=null (вместо четырёх прочерков)
  • H3 — две расходящиеся «медианы объявлений» на одном экране (рейка 14,23млн vs герой 8,99млн на тех же аналогах) унифицированы на e.median_price_rub
  • M1-M3 — иерархия трёх цен (asking уменьшен, круговой гейдж → пилюля «−N% к цене объявления», дисклеймер разброса читаем)
  • M4-минимум — PDF-отчёт primary после результата (lead-CTA НЕ добавлялся — открытый продуктовый вопрос)
  • M5 — порядок меток оси X графика (2026 в начале, не терялась при years≠5); geometry вынесена в общий export phYearX вместо дублирования между AnalyticsView.tsx и mappers.ts
  • M6 — gate немонотонного «срок продажи» при n<5 аналогов
  • M7 — сброс scroll оверлея при смене секции
  • M8 + LOW — унификация терминов (СТОИМОСТЬ→ЦЕНА, CV→«разброс цен», P25-P75 человекочитаемо, ДКП-расшифровка, скрыт литеральный «Обновлено: —», метро-разделители в адресе, убран внутренний label «ПОВТОРНЫЕ АДРЕСА»)
  • Контраст accent-текста hero (40px headline) поднят с ≈2.87:1 до ≈4.2:1 (accent → accentDeep, существующий токен той же палитры, не хардкод)

Мобильная раскладка (H2) — отдельный issue #2275, вне этого PR. Ветка была на 30 коммитов позади main — rebase выполнен, upstream-рефакторинг mappers.ts (source-registry делегация #2211, e.cv-based cvLabel #2043) сохранён и подтверждён нетронутым.

Test plan

  • tsc --noEmit: 0 errors
  • next build: успешно, 13/13 routes
  • Pre-push review (code-reviewer) до и после rebase: APPROVE
  • post-merge: визуальный QA-смоук на живой оценке

Refs #2266, #2262

## Summary Живой визуальный аудит `/trade-in/v2` («Мера») после honest-hero раунда нашёл HIGH/MEDIUM/LOW дефекты (прод, живая оценка Белинского 86) — фиксы по всему чеклисту: - **H1** — честный fallback флагманской карточки при `expected_sold_price=null` (вместо четырёх прочерков) - **H3** — две расходящиеся «медианы объявлений» на одном экране (рейка 14,23млн vs герой 8,99млн на тех же аналогах) унифицированы на `e.median_price_rub` - **M1-M3** — иерархия трёх цен (asking уменьшен, круговой гейдж → пилюля «−N% к цене объявления», дисклеймер разброса читаем) - **M4-минимум** — PDF-отчёт primary после результата (lead-CTA НЕ добавлялся — открытый продуктовый вопрос) - **M5** — порядок меток оси X графика (2026 в начале, не терялась при years≠5); geometry вынесена в общий export `phYearX` вместо дублирования между AnalyticsView.tsx и mappers.ts - **M6** — gate немонотонного «срок продажи» при n<5 аналогов - **M7** — сброс scroll оверлея при смене секции - **M8 + LOW** — унификация терминов (СТОИМОСТЬ→ЦЕНА, CV→«разброс цен», P25-P75 человекочитаемо, ДКП-расшифровка, скрыт литеральный «Обновлено: —», метро-разделители в адресе, убран внутренний label «ПОВТОРНЫЕ АДРЕСА») - Контраст accent-текста hero (40px headline) поднят с ≈2.87:1 до ≈4.2:1 (accent → accentDeep, существующий токен той же палитры, не хардкод) Мобильная раскладка (H2) — отдельный issue #2275, вне этого PR. Ветка была на 30 коммитов позади main — rebase выполнен, upstream-рефакторинг mappers.ts (source-registry делегация #2211, e.cv-based cvLabel #2043) сохранён и подтверждён нетронутым. ## Test plan - [x] tsc --noEmit: 0 errors - [x] next build: успешно, 13/13 routes - [x] Pre-push review (code-reviewer) до и после rebase: APPROVE - [ ] post-merge: визуальный QA-смоук на живой оценке Refs #2266, #2262
lekss361 added 1 commit 2026-07-03 20:33:08 +00:00
fix(tradein/v2): визуальный аудит — иерархия/честность/микрокопи (#2266)
All checks were successful
CI / changes (pull_request) Successful in 8s
CI Trade-In / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m5s
d73b9198d5
Живой визуальный аудит /trade-in/v2 нашёл HIGH/MEDIUM/LOW дефекты после
honest-hero раунда — фиксы:

- H1: честный fallback-state флагманской карточки при expected_sold_price=null
  (вместо четырёх прочерков)
- H3: две расходящиеся "медианы объявлений" на одном экране (рейка 14.23млн
  vs герой 8.99млн на тех же аналогах) — унифицированы на e.median_price_rub
- M1-M3: иерархия трёх цен (asking уменьшен, круговой гейдж → пилюля
  "-N% к цене объявления", дисклеймер разброса читаем)
- M4: PDF-отчёт primary после результата (без добавления lead-CTA —
  открытый продуктовый вопрос, не решался)
- M5: порядок меток оси X графика (2026 в начале, не терялась при years!=5) —
  geometry вынесена в общий export (phYearX) вместо дублирования в двух файлах
- M6: gate немонотонного "срок продажи" при n<5 аналогов
- M7: сброс scroll оверлея при смене секции
- M8 + LOW: унификация терминов (СТОИМОСТЬ→ЦЕНА, CV→"разброс цен",
  P25-P75 человекочитаемо, ДКП-расшифровка, скрыт литеральный
  "Обновлено: —", метро-разделители в адресе, убран внутренний
  "ПОВТОРНЫЕ АДРЕСА" label)
- Контраст accent-текста hero (40px headline) поднят с ~2.87:1 до ~4.2:1
  (accent → accentDeep, существующий токен той же палитры)

Мобильная раскладка (H2) вынесена в отдельный issue #2275, не в этом PR.
Lead-CTA "Оставить заявку" — открытый продуктовый вопрос, не решался.

Refs #2266, #2262
lekss361 merged commit a8b504c3de into main 2026-07-03 20:35:39 +00:00
lekss361 deleted branch fix/tradein-v2-visual-round3 2026-07-03 20:35:39 +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#2312
No description provided.