Карточка «не хватает данных» вместо статичной заглушки #3539

Merged
lekss361 merged 1 commit from fix/frontend-insufficient-data into main 2026-09-16 17:01:55 +00:00
Owner

Зачем

Состояние «цены нет» уже существовало и подключалось по серверному флагу insufficient_data, но панель рендерилась вообще без пропсов: один и тот же захардкоженный текст на любой случай, без адреса и без следующего шага.

После бэкендной правки (#3537) это состояние станет заметно чаще — общегородской ДКП-коридор перестаёт становиться ценой — и тестировщик упрётся именно в него.

Что стало

  • Карточка показывает объяснение, которое прислал сам бэкенд (confidence_explanation, текст написан под это состояние), найденный геокодером адрес (target_address заполнен даже когда цены нет) и кнопку «уточнить адрес».
  • Цена, диапазон, «−N% к рынку» и аналоги в этом состоянии не рендерятся вовсе.
  • Предикат вынесен в именованную isInsufficientEstimate и опирается на серверный флаг, а не на price === 0: флаг определён как «ответ успешный, но median_price_rub <= 0» и не путается с ещё не загруженной оценкой.

Test plan

  • npx tsc --noEmit — чисто
  • npx eslint src/app/v2/page.tsx — чисто
  • Визуальная проверка на живом ответе с insufficient_data = true после деплоя #3537
## Зачем Состояние «цены нет» уже существовало и подключалось по серверному флагу `insufficient_data`, но панель рендерилась вообще без пропсов: один и тот же захардкоженный текст на любой случай, без адреса и без следующего шага. После бэкендной правки (#3537) это состояние станет заметно чаще — общегородской ДКП-коридор перестаёт становиться ценой — и тестировщик упрётся именно в него. ## Что стало - Карточка показывает объяснение, которое прислал сам бэкенд (`confidence_explanation`, текст написан под это состояние), найденный геокодером адрес (`target_address` заполнен даже когда цены нет) и кнопку «уточнить адрес». - Цена, диапазон, «−N% к рынку» и аналоги в этом состоянии не рендерятся вовсе. - Предикат вынесен в именованную `isInsufficientEstimate` и опирается на серверный флаг, а не на `price === 0`: флаг определён как «ответ успешный, но `median_price_rub <= 0`» и не путается с ещё не загруженной оценкой. ## Test plan - [x] `npx tsc --noEmit` — чисто - [x] `npx eslint src/app/v2/page.tsx` — чисто - [ ] Визуальная проверка на живом ответе с `insufficient_data = true` после деплоя #3537
lekss361 added 1 commit 2026-09-16 16:54:10 +00:00
fix(frontend): карточка «не хватает данных» вместо статичной заглушки
All checks were successful
CI Trade-In / frontend-checks (pull_request) Successful in 1m23s
CI Trade-In / changes (pull_request) Successful in 9s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 13s
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
55e0d9e174
Состояние уже существовало и подключалось по insufficient_data, но панель
была без пропсов: один и тот же текст на любой случай, без адреса и без
следующего шага. После бэкендной правки это состояние станет заметно
чаще (общегородской ДКП-коридор перестаёт становиться ценой), и
тестировщик упрётся именно в него.

Теперь карточка показывает объяснение, которое прислал сам бэкенд
(confidence_explanation), найденный геокодером адрес — он заполнен даже
когда цены нет — и кнопку уточнить адрес.

Предикат вынесен в именованную функцию isInsufficientEstimate и опирается
на серверный флаг insufficient_data, а не на price === 0: флаг определён
как «ответ успешный, но median_price_rub <= 0», то есть ровно нужное
состояние, и он не путается с ещё не загруженной оценкой.
lekss361 merged commit 576dba9b24 into main 2026-09-16 17:01:55 +00:00
lekss361 deleted branch fix/frontend-insufficient-data 2026-09-16 17:01:55 +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#3539
No description provided.