B1-4: Concept UI — фронт от полигона до вариантов и экспортов #57

Closed
opened 2026-05-11 20:31:59 +00:00 by lekss361 · 0 comments
lekss361 commented 2026-05-11 20:31:59 +00:00 (Migrated from github.com)

Эшелон: 🎯 Product gaps — Phase 0 deliverables

Зачем

Без UI этапы B1-1..B1-3 невидимы пользователю. Сейчас /concept = 3 строки TODO.

Что сделать

Map + input

  • Leaflet draw-контрол: нарисовать полигон или загрузить GeoJSON файлом
  • Форма параметров: класс жилья (radio econom/comfort/business), этажность (number), тип застройки (select), стоимость земли ₽/м² (optional)
  • Кнопка «Сгенерировать» → POST /concepts → spinner с прогрессом

Variants display

  • 3 таба (max_area, max_insolation, balanced) — colored badges
  • Каждый таб:
    • Карта с корпусами (цветные полигоны, hover = floor count)
    • TEAP метрики (плотность, кол-во квартир, парковка)
    • Финансовая сводка (revenue/cost/margin/IRR)
  • Сравнение всех 3 — мини-таблица

Export

  • Кнопки 📄 PDF / 📊 Excel / 📐 DXF (download через blob)
  • Show loading spinner per format
  • Если зашёл из /site-finder?cad=X → pre-fill полигон из cad geometry
  • Из карточки участка в Site Finder: кнопка «Обсчитать концепцию» → redirect /concept?cad=X

Acceptance

  • Полный flow polygon → 3 варианта → export работает
  • Mobile responsive (tablet+)
  • tsc + lint 0 errors

Owner

frontend-engineer

Effort

~5 дней

Dependencies

  • B1-1 (для показа хотя бы одной заглушки)
  • B1-3 (для экспортёров)
**Эшелон:** 🎯 Product gaps — Phase 0 deliverables ## Зачем Без UI этапы B1-1..B1-3 невидимы пользователю. Сейчас `/concept` = 3 строки TODO. ## Что сделать ### Map + input - Leaflet draw-контрол: нарисовать полигон **или** загрузить GeoJSON файлом - Форма параметров: класс жилья (radio econom/comfort/business), этажность (number), тип застройки (select), стоимость земли ₽/м² (optional) - Кнопка «Сгенерировать» → POST `/concepts` → spinner с прогрессом ### Variants display - 3 таба (`max_area`, `max_insolation`, `balanced`) — colored badges - Каждый таб: - Карта с корпусами (цветные полигоны, hover = floor count) - TEAP метрики (плотность, кол-во квартир, парковка) - Финансовая сводка (revenue/cost/margin/IRR) - Сравнение всех 3 — мини-таблица ### Export - Кнопки `📄 PDF` / `📊 Excel` / `📐 DXF` (download через blob) - Show loading spinner per format ### Cross-link с Site Finder - Если зашёл из `/site-finder?cad=X` → pre-fill полигон из cad geometry - Из карточки участка в Site Finder: кнопка «Обсчитать концепцию» → redirect /concept?cad=X ## Acceptance - [ ] Полный flow polygon → 3 варианта → export работает - [ ] Mobile responsive (tablet+) - [ ] tsc + lint 0 errors ## Owner `frontend-engineer` ## Effort ~5 дней ## Dependencies - **B1-1** (для показа хотя бы одной заглушки) - **B1-3** (для экспортёров)
Sign in to join this conversation.
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#57
No description provided.