feat(tradein/frontend): pass suggest fias_id as target_fias_id in estimate request #2186

Merged
lekss361 merged 1 commit from feat/tradein-fias-estimate-frontend into main 2026-07-02 18:08:28 +00:00
Owner

Summary

Фронт-половина контракта из #2184: выбранный в адресном автокомплите house-level кандидат несёт fias_id → estimate-запрос отправляет target_fias_id → backend матчит дом детерминированно (Tier 0.5 fias_exact), без DaData clean-вызова и квоты.

  • types/trade-in.ts: TradeInEstimateInput.target_fias_id, GeocodeSuggestion.fias_id
  • AddressInput.tsx: проп onPickFias (по образцу onPickCoords), сброс при ручной правке текста
  • EstimateForm.tsx (legacy /): state fias рядом с coords; сброс при выборе точки на MapPicker; в payload только когда non-null
  • v2/ParamsPanel.tsx (v2): set в pickSuggestion, сброс в handleAddressChange

Инвалидация stale-fias: программный выбор подсказки не триггерит reset-путь (onChange-проп, не DOM), ручной набор — триггерит; пин карты чистит fias в legacy; в v2 MapPicker отсутствует.

Test plan

  • tsc --noEmit exit 0
  • pre-commit passed (prettier скоуплен на ^frontend/, tradein-mvp не энфорсится)
  • Пост-деплой smoke: выбор подсказки → target_fias_id в network-запросе; ручная правка/пин → поле null

Связано: #2184 (backend-контракт, merged).

## Summary Фронт-половина контракта из #2184: выбранный в адресном автокомплите house-level кандидат несёт `fias_id` → estimate-запрос отправляет `target_fias_id` → backend матчит дом детерминированно (Tier 0.5 `fias_exact`), без DaData clean-вызова и квоты. - `types/trade-in.ts`: `TradeInEstimateInput.target_fias_id`, `GeocodeSuggestion.fias_id` - `AddressInput.tsx`: проп `onPickFias` (по образцу `onPickCoords`), сброс при ручной правке текста - `EstimateForm.tsx` (legacy `/`): state fias рядом с coords; **сброс при выборе точки на MapPicker**; в payload только когда non-null - `v2/ParamsPanel.tsx` (v2): set в `pickSuggestion`, сброс в `handleAddressChange` Инвалидация stale-fias: программный выбор подсказки не триггерит reset-путь (onChange-проп, не DOM), ручной набор — триггерит; пин карты чистит fias в legacy; в v2 MapPicker отсутствует. ## Test plan - [x] `tsc --noEmit` exit 0 - [x] pre-commit passed (prettier скоуплен на `^frontend/`, tradein-mvp не энфорсится) - [ ] Пост-деплой smoke: выбор подсказки → `target_fias_id` в network-запросе; ручная правка/пин → поле null Связано: #2184 (backend-контракт, merged).
lekss361 added 1 commit 2026-07-02 17:58:12 +00:00
feat(tradein/frontend): pass suggest fias_id as target_fias_id in estimate request
All checks were successful
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
CI / changes (pull_request) Successful in 7s
333a36f049
lekss361 merged commit 3b9dfdb44e into main 2026-07-02 18:08: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#2186
No description provided.