Commit graph

4 commits

Author SHA1 Message Date
52db40cc40 fix(tradein): MapPicker через portal в document.body (z-index конфликт)
MapPicker (position:fixed; z-index:1000) монтировался внутри subtree формы,
где sticky-предок (z-index:50) создаёт stacking-context → оверлей был заперт
и полоски SourcesProgress наезжали сверху. Рендерим оверлей через createPortal
в document.body — escape всех ancestor stacking-context'ов. SSR-mounted guard.

Refs #771
2026-05-30 19:34:24 +03:00
42ab74e2e8 feat(tradein): MapPicker snap marker — Phase 5 of #582 (#594)
All checks were successful
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-backend (push) Successful in 48s
Deploy Trade-In / build-frontend (push) Successful in 1m44s
Deploy Trade-In / deploy (push) Successful in 39s
2026-05-27 09:30:17 +00:00
3190bbec54 fix(tradein-frontend): MapPicker focus trap + Leaflet SRI, PhotoUpload size check (#514)
All checks were successful
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 1m26s
Deploy Trade-In / deploy (push) Successful in 32s
2026-05-24 12:01:17 +00:00
TradeIn Deploy
d456e4fecb feat(tradein): выбор адреса на карте ЕКБ (#415)
Кнопка справа от поля адреса → модалка с картой Екатеринбурга.
Клик по дому → reverse-геокодинг → адрес подставляется в форму.

- geocoder.reverse_geocode + GET /api/v1/geocode/reverse — Nominatim
  /reverse (координаты → адрес).
- MapPicker.tsx — модалка с Leaflet + OSM-тайлами (Leaflet с CDN,
  без npm-зависимости), circleMarker по клику.
- EstimateForm — кнопка-карта справа от AddressInput.

Карта на OSM (без API-ключа). При появлении ключа Yandex (#402)
можно перейти на Я.Карты.

Closes #415
2026-05-22 12:09:35 +05:00