Commit graph

2 commits

Author SHA1 Message Date
5af7542522 fix(tradein): resilience-хвост аудита (#770 findings #26-33 + global-error)
#26 QueryClient: не ретраить 4xx/429 (anti-storm), mutations retry:false.
#27 WhatIfPanel: seq-guard на out-of-order пересчёты.
#28 WhatIfPanel: caveat-title на дельту (включает scrape-разброс).
#29 стабильные React keys в ListingsCard/DealsCard (composite вместо index).
#30 asHouseType/asRepairState — runtime-валидация перед cast (EstimateForm/HeroSummary).
#31 humanizeAgo: мин→ч→дн для data_freshness_minutes (ListingsCard).
#32 DealsCard: period_months вместо хардкода «7 месяцев».
#33 .gitignore: broader cookies pattern (.avito/.yandex). .bak в git нет — nothing to rm.
#25 (частично): global-error.tsx + history error-state. Sub-part ?id-restore
    error-UI в page.tsx — deferred (нужен UX error-state в restore-флоу).

Refs #770
2026-05-30 20:09:16 +03:00
TradeIn Deploy
abafb60120 feat(tradein): рабочие страницы История и Кэш (#399)
Заглушки навбара (href=#) → рабочие страницы.

- GET /api/v1/trade-in/history — последние оценки из trade_in_estimates.
- GET /api/v1/trade-in/cache-stats — счётчики данных/кэшей.
- app/history/page.tsx — таблица прошлых оценок, ссылки на отчёты.
- app/cache/page.tsx — состояние данных (объявления, сделки, кадастр,
  кэш геокодера, последний парсинг).
- navbar — ссылки История / Кэш ведут на страницы.

Closes #399
2026-05-22 11:28:27 +05:00