fix(site-finder): MiniMap не клипает layer-controls — рыночные слои доступны (#1218) #1260

Merged
bot-backend merged 1 commit from fix/minimap-layer-controls-visible into main 2026-06-13 05:59:43 +00:00
Collaborator

Summary

Closes #1218 (P2 UX prod-баг). Section 1 mini-map клипал 100px карты и все layer-контролы SiteMap → рыночные слои #999/#958 физически нельзя было включить на /analysis/[cad].

Bug

  • SiteMap рендерит карту фиксированной высотой 420px (SiteMap.tsx:313) + flow-div под ней с кнопкой POI, легендой и CpLayerControlPanel.
  • MiniMap оборачивал всё в { height: 320; overflow: hidden } → нижние 100px карты и все контролы обрезаны.
  • visibleMarketLayers init = {"competitors"}. Единственный способ включить pipeline/risk/opportunity/redlines (слои #999 zone-of-risk + #958 §12.1-13 opportunity parcels / red lines) — клипнутые чекбоксы. Слои недоступны, хотя данные пробрасываются props'ами.

Fix (Вариант A)

  • SiteMap.tsx: новый prop mapHeight?: number (default 420 — backward-compat для /site-finder/[cad]).
  • MiniMap.tsx: снято height: 320 + overflow: hidden; передаём mapHeight={280} (компактнее но не клипает); только width-constraint (maxWidth: 400) на обёртке. Легенда + панель слоёв ложатся под карту flow.

Test plan

  • 2 новых vitest на MiniMap: mapHeight=280 пробрасывается в SiteMap (mocked stub), clipping-стили отсутствуют.
  • npm run test82 passed.
  • npx tsc --noEmit + npm run lint → clean.
  • Post-deploy visual smoke: тумблеры pipeline/risk/opportunity/redlines под мини-картой Section 1 — кликабельны.

Closes #1218

## Summary Closes #1218 (P2 UX prod-баг). Section 1 mini-map клипал 100px карты и **все** layer-контролы SiteMap → рыночные слои #999/#958 физически нельзя было включить на /analysis/[cad]. ## Bug - `SiteMap` рендерит карту фиксированной высотой 420px (`SiteMap.tsx:313`) + flow-div под ней с кнопкой POI, легендой и `CpLayerControlPanel`. - `MiniMap` оборачивал всё в `{ height: 320; overflow: hidden }` → нижние 100px карты и все контролы обрезаны. - `visibleMarketLayers` init = `{"competitors"}`. Единственный способ включить `pipeline/risk/opportunity/redlines` (слои #999 zone-of-risk + #958 §12.1-13 opportunity parcels / red lines) — клипнутые чекбоксы. **Слои недоступны**, хотя данные пробрасываются props'ами. ## Fix (Вариант A) - `SiteMap.tsx`: новый prop `mapHeight?: number` (default 420 — backward-compat для `/site-finder/[cad]`). - `MiniMap.tsx`: снято `height: 320` + `overflow: hidden`; передаём `mapHeight={280}` (компактнее но не клипает); только width-constraint (`maxWidth: 400`) на обёртке. Легенда + панель слоёв ложатся под карту flow. ## Test plan - [x] 2 новых vitest на MiniMap: `mapHeight=280` пробрасывается в SiteMap (mocked stub), clipping-стили отсутствуют. - [x] `npm run test` → **82 passed**. - [x] `npx tsc --noEmit` + `npm run lint` → clean. - [ ] Post-deploy visual smoke: тумблеры pipeline/risk/opportunity/redlines под мини-картой Section 1 — кликабельны. Closes #1218
bot-backend added 1 commit 2026-06-13 05:57:06 +00:00
fix(site-finder): MiniMap не клипает layer-controls — рыночные слои доступны (#1218)
All checks were successful
CI / changes (push) Successful in 7s
CI / backend-tests (push) Has been skipped
CI / changes (pull_request) Successful in 9s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (push) Successful in 49s
CI / frontend-tests (pull_request) Successful in 48s
ab45cacfbf
Section 1 mini-map (/site-finder/analysis/[cad] — единственная карта
страницы) оборачивал SiteMap в height:320 + overflow:hidden. SiteMap
рендерит карту фиксированной высотой 420px + ПОД ней (flow) кнопку
"Добавить POI", легенду и CpLayerControlPanel с тумблерами
competitors/pipeline/risk/opportunity/redlines. Нижние 100px карты и
ВСЕ контролы обрезались clip-обёрткой → недостижимы кликом.

visibleMarketLayers init = {"competitors"} — единственный способ
включить остальные слои (#999 zone-of-risk, #958 §12.1-13 opportunity
parcels / red lines) — те самые скрытые чекбоксы → слои физически
невозможно было включить на странице анализа, хотя данные пробрасывались
props'ами ради них.

Patch (Вариант A из issue):
- SiteMap.tsx: новый prop mapHeight?: number (default 420 — backward-
  compat для /site-finder/[cad]).
- MiniMap.tsx: снято height:320 + overflow:hidden; передаём mapHeight=280
  (компактнее но не клипает); только width-constraint (maxWidth 400)
  на обёртке.

2 новых vitest: mapHeight=280 пробрасывается в SiteMap (mocked stub),
clipping-стили отсутствуют. 82/82 frontend тестов зелёные. tsc + lint clean.

Closes #1218
bot-backend merged commit 0a8785d548 into main 2026-06-13 05:59:43 +00:00
bot-backend deleted branch fix/minimap-layer-controls-visible 2026-06-13 05:59:43 +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#1260
No description provided.