fix(tradein/v2): UI/UX-аудит P2 — контент/честность/иерархия (#2062) #2072

Merged
lekss361 merged 1 commit from fix/tradein-v2-uiux-p2-content into main 2026-06-28 17:52:28 +00:00
Owner

Второй заход по аудиту /trade-in/v2 (#2062) — HIGH контент/иерархия + честность данных. FE-only, сильные стороны не тронуты. next build зелёный, tsc чисто, prettier 3.9.0, code-reviewer APPROVE (блокеров нет).

Изменения

  • Опц. поля не врут модели: ТИП/РЕМОНТ → нейтральное «Не указано» → на submit undefined; БАЛКОН — tri-state (null пока не трогали → undefined). Больше не шлём молча «Панельный/Хороший/балкон=да».
  • Валидация у поля (не под кнопкой): красная рамка + сообщение прямо под адресом/площадью, показываются ВСЕ блокеры; низ — только серверная ошибка.
  • Копирайт: единый регистр «вы» («если знаете»); кэш-строка → «ДАННЫЕ АКТУАЛЬНЫ · ДЕЙСТВИТЕЛЕН 24 Ч»; drawer без жаргона (убраны (asking), POI→«инфраструктура»).
  • Честные даты: сделки Росреестра → «янв 2026» (месяц, не фейк-день 01.01) в таблицах 04/05; бренды источников без method-суффиксов (РОСРЕЕСТР/АВИТО/ДОМКЛИК); «эталон»→«опорная цена».
  • График истории цен: зум оси Y к реальному диапазону медиан + динамические подписи оси (раньше фикс 0–200k → почти плоская линия); легенда серии только при наличии линии.
  • Иерархия: 3 цены весомее (font-weight 400); медиана-маркеры range-баров → тонкий тик (не выглядят как draggable-ручки); фото здания — синий duotone + десатурация (не крадёт первый взгляд у цен).
  • Таблицы: площадь/комнаты/этаж вынесены из адресной ячейки в колонку «ПАРАМЕТРЫ» (аналоги 05); в СВОДКЕ.

Сознательно НЕ сделано (с обоснованием)

  • Перераспределение accent-синего (item 9): axe уже 0 (контраст ок), а широкое снятие акцента с номеров секций/ссылок/рельсов конфликтует с явным «не ломать HUD-систему/палитру». Оставлено как осознанное решение.
  • Форс-монотонность тиров срока продажи: это были бы выдуманные данные — оставлены реальные.

Прод-QA (playwright + axe, Белинского 86) — после деплоя. Дочерняя к #2036.

Второй заход по аудиту `/trade-in/v2` (#2062) — HIGH контент/иерархия + честность данных. FE-only, сильные стороны не тронуты. `next build` зелёный, `tsc` чисто, prettier 3.9.0, code-reviewer ✅ APPROVE (блокеров нет). ## Изменения - **Опц. поля не врут модели**: ТИП/РЕМОНТ → нейтральное «Не указано» → на submit `undefined`; БАЛКОН — tri-state (`null` пока не трогали → `undefined`). Больше не шлём молча «Панельный/Хороший/балкон=да». - **Валидация у поля** (не под кнопкой): красная рамка + сообщение прямо под адресом/площадью, показываются ВСЕ блокеры; низ — только серверная ошибка. - **Копирайт**: единый регистр «вы» («если знаете»); кэш-строка → «ДАННЫЕ АКТУАЛЬНЫ · ДЕЙСТВИТЕЛЕН 24 Ч»; drawer без жаргона (убраны `(asking)`, `POI`→«инфраструктура»). - **Честные даты**: сделки Росреестра → «янв 2026» (месяц, не фейк-день `01.01`) в таблицах 04/05; бренды источников без method-суффиксов (РОСРЕЕСТР/АВИТО/ДОМКЛИК); «эталон»→«опорная цена». - **График истории цен**: зум оси Y к реальному диапазону медиан + динамические подписи оси (раньше фикс 0–200k → почти плоская линия); легенда серии только при наличии линии. - **Иерархия**: 3 цены весомее (font-weight 400); медиана-маркеры range-баров → тонкий тик (не выглядят как draggable-ручки); фото здания — синий duotone + десатурация (не крадёт первый взгляд у цен). - **Таблицы**: площадь/комнаты/этаж вынесены из адресной ячейки в колонку «ПАРАМЕТРЫ» (аналоги 05); `↗`→`›` в СВОДКЕ. ## Сознательно НЕ сделано (с обоснованием) - **Перераспределение accent-синего** (item 9): axe уже 0 (контраст ок), а широкое снятие акцента с номеров секций/ссылок/рельсов конфликтует с явным «не ломать HUD-систему/палитру». Оставлено как осознанное решение. - **Форс-монотонность тиров срока продажи**: это были бы выдуманные данные — оставлены реальные. Прод-QA (playwright + axe, Белинского 86) — после деплоя. Дочерняя к #2036.
lekss361 added 1 commit 2026-06-28 17:52:21 +00:00
fix(tradein/v2): UI/UX-аудит P2 — контент/честность/иерархия (#2062)
All checks were successful
CI / changes (pull_request) Successful in 7s
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
1722309372
- Опц. поля больше не шлют непроверенные дефолты в ценовую модель:
  ТИП/РЕМОНТ → «Не указано»→undefined, БАЛКОН tri-state (null пока не
  трогали) → undefined.
- Валидация у поля: красная рамка + сообщение под адресом/площадью,
  показываются ВСЕ блокеры (не только первый); низ — только серверная ошибка.
- Копирайт «вы»: «если знаете»; кэш-строка → «ДАННЫЕ АКТУАЛЬНЫ ·
  ДЕЙСТВИТЕЛЕН 24 Ч»; drawer без жаргона (убраны (asking)/POI).
- Даты сделок Росреестра → «янв 2026» (месяц, не фейк-день 01.01);
  бренды источников без method-суффиксов (РОСРЕЕСТР/АВИТО/ДОМКЛИК);
  «эталон»→«опорная цена».
- График истории цен: зум оси Y к реальному диапазону данных + динамические
  подписи оси; легенда серии показывается только при наличии линии.
- 3 цены весомее (font-weight 400); медиана-маркеры range-баров → тонкий тик
  (не выглядит как draggable-ручка); фото здания — синий duotone +
  десатурация (не крадёт первый взгляд у цен).
- Таблицы аналогов/сделок: площадь/комнаты/этаж вынесены из адресной ячейки
  в колонку ПАРАМЕТРЫ; ↗→› в СВОДКЕ.

Сознательно НЕ тронуто: перераспределение accent-синего (item 9) — axe уже 0,
а широкое снятие акцента конфликтует с «не ломать HUD-палитру»; монотонность
тиров срока продажи не форсируется (это были бы выдуманные данные).
lekss361 merged commit eab3d928d6 into main 2026-06-28 17:52:28 +00:00
lekss361 deleted branch fix/tradein-v2-uiux-p2-content 2026-06-28 17:52:28 +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#2072
No description provided.