gendesign/tradein-mvp/frontend
bot-backend 06a88f683d
All checks were successful
CI / changes (pull_request) Successful in 7s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 58s
CI Trade-In / changes (pull_request) Successful in 8s
CI / openapi-codegen-check (pull_request) Has been skipped
fix(tradein/v2): честность+консистентность UI-блоков
Полировка Mera v2 после live-аудита — тот же класс "фейк-данные под видом
реальных", что уже чинили раньше. Честная деградация: убрать фейк / завести
реальные данные / явно разметить, никогда не выдумывать.

1. Реконсиляция счётчика аналогов. Бэкенд (schemas/trade_in.py:163-165,180-181,
   estimator.py:3286-3310, #2087 M1) чётко документирует: n_analogs — полный
   счёт, использованный в расчёте; analogs/source_counts — персистентный
   top-10 сэмпл (намеренно капнутый, чтобы POST/GET не расходились). Это НЕ
   "найдено vs использовано", а "полный итог vs капнутая выборка для показа".
   02/03/05 уже использовали n_analogs в headline-цифрах — оставлено. Добавлена
   дисклозура там, где рядом всплывала капнутая выборка и создавала мнимое
   противоречие: 02 (тайлы источников vs "ПОСТРОЕНО ПО N АНАЛОГАМ"), 05 (шапка
   карты и подвал таблицы объявлений) — по образцу уже существующего паттерна
   "Показано N из M" (deals-таблица).
2. Убран фейковый donut "КАЧЕСТВО ДАННЫХ" (ObjectSummary) — хардкод
   strokeDasharray/offset, композитного score нет нигде в мапперах.
3. Убрана фейковая линейка расстояний (HeroBar) — хардкод тиков 0/25/50/75/100м
   поверх стокового фото.
4. Скрыты компас и street-view слот (HeroBar) — оба поля всегда "" (TODO BE-3),
   по образцу уже используемого в файле паттерна locationCoef "нет данных".
5. mapReport берёт реальный created_at (#2043/BE-1), фоллбек на expires−24h
   только для pre-BE-1 записей без created_at.
6. Бейдж "ДАННЫЕ АКТУАЛЬНЫ/ДЕЙСТВИТЕЛЕН 24 Ч" (ParamsPanel) загейчен на
   hasEstimate — раньше показывался как свежий ДО первой оценки.
7. Дисклеймер у декоративной SVG-карты (ParamsPanel): "Схематично · не
   географическая карта · радиус не в масштабе".
8. Outlier-guard на ₽/м² (mappers.ts guardPriceOutliers, порог 2.5–3× медианы
   пула, взята середина — 2.75×): исключение из CV/разброса с дисклозурой
   count + бейдж "возможный выброс" на строке в таблице объявлений (05).
9. SourcesMap: попап сделки "(квартал, Росреестр)" → "(месяц, Росреестр)" —
   fmtMonthYear реально рендерит месяц.
10. mapCache "ВСЕГО ОЦЕНОК" → саб-лейбл "последние 50" (useEstimateHistory
    капает на 50, trade-in-api.ts:247) — было похоже на лайфтайм-тотал.

tsc --noEmit + next lint зелёные; next build (задет shared types.ts) зелёный.
2026-07-12 18:02:42 +03:00
..
public refactor(tradein/v2): перенос HUD v2 в tradein-mvp frontend 2026-06-28 13:10:23 +03:00
src fix(tradein/v2): честность+консистентность UI-блоков 2026-07-12 18:02:42 +03:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile chore(tradein-fe): bake NEXT_PUBLIC_ENABLE_PREVIEW build-arg (#801) 2026-05-30 18:40:21 +00:00
eslint.config.mjs ci(tradein): pre-merge гейт — backend pytest + frontend type-check/lint (#2208) (#2220) 2026-07-02 19:56:22 +00:00
next.config.ts fix(tradein/frontend): redirect legacy /trade-in root to canonical /v2 2026-07-02 19:26:55 +03:00
package.json ci(tradein): pre-merge гейт — backend pytest + frontend type-check/lint (#2208) (#2220) 2026-07-02 19:56:22 +00:00
pnpm-lock.yaml fix(tradein/v2): визуальный аудит — иерархия/честность/микрокопи (#2266) (#2312) 2026-07-03 20:35:38 +00:00
tsconfig.json feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00