fix(tradein/ui): убрать debug cache-key, гейт тонких графиков, разграничить динамику цен #1821

Merged
lekss361 merged 1 commit from fix/tradein-estimate-ui-cleanup-v2 into main 2026-06-20 06:55:04 +00:00
Owner

Зачем

Анализ rendered preview /trade-in/ui-preview/estimate выявил блоки, потерявшие смысл (плотность/дубли/debug-утечка). Точечная очистка, без переработки иерархии.

Что (всё в tradein-mvp/frontend/src/components/trade-in/)

FIX 1 — debug cache-key вон из клиентского UI (SourcesProgress.tsx)
Удалён футер «CACHE-KEY · {estimate_id} · …» — технический маркер пайплайна, бессмысленен клиенту/менеджеру. Заголовок «Шаг B · Агрегация», прогресс источников и чипы — без изменений.

FIX 2 — гейт «тонких» графиков (DistributionCard.tsx, ExposureCard.tsx)
Гистограмма «Где ваша квартира» и scatter «Цена и срок экспозиции» рендерили график на 3 точках (= визуальный шум). Добавлен порог MIN_CHART_ANALOGS = 8: при N<8 вместо графика — empty-state («Мало аналогов для графика» / «Недостаточно данных»), тем же паттерном что ListingsCard. Старые hard-guard'ы (<3) сохранены.

FIX 3 — разграничены два графика динамики (PriceTrendCard.tsx, PriceHistoryChart.tsx)
Scope реально разный → не удалял, уточнил подписи:

  • PriceTrendCard (медиана по аналогам рынка, помесячно): «Динамика ₽/м²» → «Динамика ₽/м² по рынку района», kicker «Тренд рынка».
  • PriceHistoryChart (avito_imv+yandex по конкретному дому, по годам): «Динамика цен в доме» → «История цен в этом доме» / «только этот дом».

Вне скоупа (отдельно, чтобы не ломать активный UI)

hero-число/иерархия конкурирующих цен, sold-числа, range-бары, Секция «Оффер».

Проверка

  • Правки консервативные: условный рендер-врапы + строки + одна константа, типы/пропсы не менялись.
  • ⚠️ Полный tsc в worktree не прогнался (нет node_modules → отсутствуют react/recharts, все ошибки — pre-existing «JSX implicitly any», новых нет). CI на PR прогонит чистый typecheck.
  • pre-commit (prettier) green.

Источник: анализ preview 2026-06-20.

## Зачем Анализ rendered preview `/trade-in/ui-preview/estimate` выявил блоки, потерявшие смысл (плотность/дубли/debug-утечка). Точечная очистка, без переработки иерархии. ## Что (всё в `tradein-mvp/frontend/src/components/trade-in/`) **FIX 1 — debug cache-key вон из клиентского UI** (`SourcesProgress.tsx`) Удалён футер «CACHE-KEY · {estimate_id} · …» — технический маркер пайплайна, бессмысленен клиенту/менеджеру. Заголовок «Шаг B · Агрегация», прогресс источников и чипы — без изменений. **FIX 2 — гейт «тонких» графиков** (`DistributionCard.tsx`, `ExposureCard.tsx`) Гистограмма «Где ваша квартира» и scatter «Цена и срок экспозиции» рендерили график на 3 точках (= визуальный шум). Добавлен порог `MIN_CHART_ANALOGS = 8`: при N<8 вместо графика — empty-state («Мало аналогов для графика» / «Недостаточно данных»), тем же паттерном что `ListingsCard`. Старые hard-guard'ы (<3) сохранены. **FIX 3 — разграничены два графика динамики** (`PriceTrendCard.tsx`, `PriceHistoryChart.tsx`) Scope реально разный → не удалял, уточнил подписи: - `PriceTrendCard` (медиана по аналогам рынка, помесячно): «Динамика ₽/м²» → **«Динамика ₽/м² по рынку района»**, kicker «Тренд рынка». - `PriceHistoryChart` (avito_imv+yandex по конкретному дому, по годам): «Динамика цен в доме» → **«История цен в этом доме» / «только этот дом»**. ## Вне скоупа (отдельно, чтобы не ломать активный UI) hero-число/иерархия конкурирующих цен, sold-числа, range-бары, Секция «Оффер». ## Проверка - Правки консервативные: условный рендер-врапы + строки + одна константа, типы/пропсы не менялись. - ⚠️ Полный `tsc` в worktree не прогнался (нет `node_modules` → отсутствуют react/recharts, все ошибки — pre-existing «JSX implicitly any», новых нет). **CI на PR прогонит чистый typecheck.** - pre-commit (prettier) green. Источник: анализ preview 2026-06-20.
lekss361 added 1 commit 2026-06-20 06:50:19 +00:00
fix(tradein/ui): убрать debug cache-key, гейт тонких графиков, дедуп динамики цен
All checks were successful
CI / changes (pull_request) Successful in 5s
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
237c18597f
lekss361 merged commit dae2b5a5d9 into main 2026-06-20 06:55:04 +00:00
lekss361 deleted branch fix/tradein-estimate-ui-cleanup-v2 2026-06-20 06:55:04 +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#1821
No description provided.