feat(site-finder): прогрессивное раскрытие секций отчёта §1–§6 («Раскрыть всё») #2116

Merged
bot-backend merged 1 commit from feat/section-progressive-disclosure into main 2026-06-30 15:31:34 +00:00
Collaborator

Что (запрос Anton)

«Изначально выдавало на каждом этапе только основную информацию, далее жмёшь раскрыть и показывает всё что у нас есть.»

Каждая секция отчёта по умолчанию показывает только основное (вердикт-плашка + KPI-ряд), остальное — под единым тумблером «Раскрыть всё ▾».

Как

  • StageDetails (новый примитив) — тумблер: default-collapsed, aria-expanded, токены, Unicode-каретка (▾/▴). Conditional-mount детей ({open && …}, не display:none) — чтобы Leaflet-карты корректно инициализировались при раскрытии (скрытый контейнер Leaflet рисует серые тайлы).
  • Применено к §1–§6 (границы из аудита-маппинга, всё low-risk):
    • §1 Объект — свёрнуты карта+ЕГРН/НСПД/POI + экспорт; видно вердикт+4 KPI.
    • §2 Оценка — свёрнуты risk-cards+ЗОУИТ+рекомендация; видно вердикт+score-разбивка.
    • §3 Сети — свёрнуты ЛЭП-warning+счётчики+таблица+карта+caveat; видно плашка с дистанциями.
    • §4 Рынок — свёрнуты настройки+таблица+блоки; CompetitorDetailDrawer оставлен вне тумблера (открывается из таблицы, должен жить при свёрнутой секции).
    • §5 Атмосфера — свёрнут сезонный климат; видно шум/воздух/ветер.
    • §6 Прогноз — свёрнуты график+6.1–6.6+футер; видно вердикт+4 KPI+легенда дефицита.
  • §7 Концепция — не тронут (уже progressive: форма → авто-результат).

Решение по дизайну

Держу видимым вердикт + KPI (правило above-the-fold, ui-conventions). Карты тоже под «Раскрыть» — буквальное «только основную информацию». Если захочешь конкретную карту (напр. §1/§3) видимой по умолчанию — это однострочная правка.

Проверки

  • tsc --noEmit , eslint , prettier (frontend-only → backend-tests skip).
  • Pre-push review: APPROVE (JSX-баланс по всем 6 секциям чист, drawer вне тумблера подтверждён).
  • После deploy — скриншот-verify: каждая секция свёрнута, «Раскрыть всё» открывает контент, Leaflet-карты и графики рендерятся с первого раскрытия (без серых тайлов), drawer §3 работает.
## Что (запрос Anton) «Изначально выдавало на каждом этапе только основную информацию, далее жмёшь раскрыть и показывает всё что у нас есть.» Каждая секция отчёта по умолчанию показывает **только основное** (вердикт-плашка + KPI-ряд), остальное — под единым тумблером **«Раскрыть всё ▾»**. ## Как - **`StageDetails`** (новый примитив) — тумблер: default-collapsed, `aria-expanded`, токены, Unicode-каретка (▾/▴). **Conditional-mount** детей (`{open && …}`, не `display:none`) — чтобы Leaflet-карты корректно инициализировались при раскрытии (скрытый контейнер Leaflet рисует серые тайлы). - Применено к §1–§6 (границы из аудита-маппинга, всё low-risk): - §1 Объект — свёрнуты карта+ЕГРН/НСПД/POI + экспорт; видно вердикт+4 KPI. - §2 Оценка — свёрнуты risk-cards+ЗОУИТ+рекомендация; видно вердикт+score-разбивка. - §3 Сети — свёрнуты ЛЭП-warning+счётчики+таблица+карта+caveat; видно плашка с дистанциями. - §4 Рынок — свёрнуты настройки+таблица+блоки; **CompetitorDetailDrawer оставлен вне тумблера** (открывается из таблицы, должен жить при свёрнутой секции). - §5 Атмосфера — свёрнут сезонный климат; видно шум/воздух/ветер. - §6 Прогноз — свёрнуты график+6.1–6.6+футер; видно вердикт+4 KPI+легенда дефицита. - **§7 Концепция — не тронут** (уже progressive: форма → авто-результат). ## Решение по дизайну Держу видимым **вердикт + KPI** (правило above-the-fold, ui-conventions). Карты тоже под «Раскрыть» — буквальное «только основную информацию». Если захочешь конкретную карту (напр. §1/§3) видимой по умолчанию — это однострочная правка. ## Проверки - `tsc --noEmit` ✅, eslint ✅, prettier ✅ (frontend-only → backend-tests skip). - Pre-push review: ✅ APPROVE (JSX-баланс по всем 6 секциям чист, drawer вне тумблера подтверждён). - После deploy — скриншот-verify: каждая секция свёрнута, «Раскрыть всё» открывает контент, Leaflet-карты и графики рендерятся с первого раскрытия (без серых тайлов), drawer §3 работает.
bot-backend added 1 commit 2026-06-30 15:28:20 +00:00
feat(site-finder): прогрессивное раскрытие секций отчёта §1–§6
All checks were successful
CI / changes (pull_request) Successful in 9s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 1m11s
CI / openapi-codegen-check (pull_request) Successful in 2m13s
6894c297d6
Каждая секция показывает по умолчанию только основную информацию (вердикт-плашка
+ KPI-ряд), остальное (карты, таблицы, графики, разбивки) — под единым тумблером
«Раскрыть всё ▾». Выполнение запроса: «на каждом этапе только основную информацию,
далее жмёшь раскрыть и показывает всё что у нас есть».

- StageDetails — примитив-тумблер: default-collapsed, conditional-mount детей
  (НЕ display:none — чтобы Leaflet-карты инициализировались при раскрытии),
  aria-expanded, токены, Unicode-каретка.
- §1 Объект: свёрнуты 2-кол грид (карта+ЕГРН/НСПД/POI) + экспорт.
- §2 Оценка: свёрнуты risk-cards + ЗОУИТ + рекомендация.
- §3 Сети: свёрнуты предупреждение ЛЭП + счётчики + таблица + карта + caveat.
- §4 Рынок: свёрнуты настройки+таблица+блоки; CompetitorDetailDrawer оставлен
  смонтированным вне тумблера.
- §5 Атмосфера: свёрнут сезонный климат.
- §6 Прогноз: свёрнуты график + 6.1–6.6 + футер.
- §7 Концепция — не тронут (уже сам по себе progressive: форма → авто-результат).
bot-backend merged commit e52dc47067 into main 2026-06-30 15:31:34 +00:00
bot-backend deleted branch feat/section-progressive-disclosure 2026-06-30 15:31:34 +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#2116
No description provided.