fix(site-finder): MiniMap не клипает layer-controls — рыночные слои доступны (#1218) #1260
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#1260
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/minimap-layer-controls-visible"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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 карты и все контролы обрезаны.visibleMarketLayersinit ={"competitors"}. Единственный способ включитьpipeline/risk/opportunity/redlines(слои #999 zone-of-risk + #958 §12.1-13 opportunity parcels / red lines) — клипнутые чекбоксы. Слои недоступны, хотя данные пробрасываются props'ами.Fix (Вариант A)
SiteMap.tsx: новый propmapHeight?: number(default 420 — backward-compat для/site-finder/[cad]).MiniMap.tsx: снятоheight: 320+overflow: hidden; передаёмmapHeight={280}(компактнее но не клипает); только width-constraint (maxWidth: 400) на обёртке. Легенда + панель слоёв ложатся под карту flow.Test plan
mapHeight=280пробрасывается в SiteMap (mocked stub), clipping-стили отсутствуют.npm run test→ 82 passed.npx tsc --noEmit+npm run lint→ clean.Closes #1218
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