|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI / changes (pull_request) Successful in 9s
CI Trade-In / backend-tests (pull_request) Has been skipped
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 Trade-In / frontend-checks (pull_request) Successful in 1m5s
SourcesMap.tsx: реальный OSM-баземап (Leaflet CDN, порт паттерна MapCard.tsx, без npm-зависимости) поверх estimate.analogs + estimate.actual_deals — оба поля уже несут lat/lon и source в живом API-ответе (проверено по _listing_to_analog/_deal_to_analog в estimator.py и AnalogLot в schemas/trade_in.py), бэкенд не менялся. Объявления — цвет по источнику (categorical-палитра dataviz-skill, validated), сделки — ромб нейтрального цвета вместо ещё одного hue (сделки геокодированы по street-centroid и стекируются в одну точку — сгруппированы + jitter + бейдж «×N», честная подпись про приближение). Целевая квартира + радиус-круг по той же дистанции, что уже заявлена в фильтр-чипе таблицы объявлений выше. Смонтирован в SourcesView.tsx (overlay «05 АНАЛОГИЧНЫЕ ОБЪЯВЛЕНИЯ»), estimate прокинут через SectionOverlay из app/v2/page.tsx. mappers.ts: несколько приватных форматтеров (fmtMonthYear/numRu/fmtDist/sourceLabel/tierLabel/ adMeta/dealMeta/deglueAddr) экспортированы для переиспользования в попапах карты вместо дублирования. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| next.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| tsconfig.json | ||