gendesign/frontend/src
lekss361 ade511bff3 feat(site-finder): D4 pipeline 24mo — future competition (#36)
Backend (parcels.py):
- Запрос к domrf_kn_objects в радиусе 5км с ready_dt BETWEEN NOW() AND NOW()+24mo.
- _aggregate_pipeline() — сводка: objects_count, flats_total, by_class (эконом/
  комфорт/бизнес/...), by_quarter (хронологически, для UI bar), severity
  (low <500 / medium <3000 / high) per spec, top_objects (десятка по flat_count desc).
- Поле analyze.pipeline_24mo. Backward-compat — optional.

Frontend:
- Pipeline24moBlock.tsx — severity badge + 3 summary numbers (объектов, квартир,
  горизонт/радиус), by-class chips, гистограмма bar по кварталам сдачи
  (нормирована на max), разворачиваемый top-N список с классом + датой сдачи.
- Добавлен в MarketTab выше "Market trend".
- TS типы: Pipeline24mo, PipelineObject, PipelineQuarterSlot.

Closes #36. Relates to #19 (Конкурентный 360 — закрыт ранее в #36 scope).
2026-05-12 01:00:46 +03:00
..
app feat(site-finder): deep-link tabs via ?tab= URL param (#86) 2026-05-12 00:33:49 +03:00
components feat(site-finder): D4 pipeline 24mo — future competition (#36) 2026-05-12 01:00:46 +03:00
hooks feat(site-finder): isochrones UI + networks VKH + OSM substations 2026-05-11 21:48:21 +03:00
lib feat(analytics): buildings block + dynamic developer comparison 2026-05-11 16:03:16 +03:00
types feat(site-finder): D4 pipeline 24mo — future competition (#36) 2026-05-12 01:00:46 +03:00