fix(map): stop mobile Features panel from blocking sidebar connect button (#3532)#3536
Conversation
…tton On mobile portrait the map Features panel (.map-controls, z-index:1000) painted above the slide-in Sources sidebar drawer (z-index:999) and its backdrop (z-index:998), covering the source Connect button. Users had to rotate to landscape or zoom out to reach it. Lower .map-controls to z-index:997 inside the existing max-width:768px media query so it yields to the drawer when the sidebar is open. The drawer's backdrop is opacity:0/pointer-events:none when closed, so the override has no effect on normal map-controls interaction. Fixes #3532 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Claude finished @Yeraze's task —— View job PR Review
Overall: LGTM — clean, minimal, well-reasoned fix. What the change does
The values are correct and sourced directly from the existing stylesheet — not guessed. Positive observations
Minor observations (non-blocking)
VerdictThe root cause analysis is accurate, the fix is correct, and the comment in the code makes the intent clear. No issues found. |
Summary
Fixes #3532. On mobile portrait, the map Features panel (
.map-controls) painted on top of the slide-in Sources sidebar drawer, covering the source Connect button. Users had to rotate to landscape or zoom out to reach it.Root cause
A z-index stacking conflict on the
max-width: 768pxbreakpoint:.map-controls).dashboard-sidebar).dashboard-sidebar-backdrop)The Features panel's base
z-index: 1000was never overridden on mobile, and itsmax-width: calc(100vw - 64px)spans nearly the full viewport — so when the drawer slid in, the panel stayed on top and blocked the Connect button.Fix
Lower
.map-controlstoz-index: 997inside the existing mobile media query (src/styles/nodes.css) so it yields to the drawer + backdrop when the sidebar is open.This is safe for the closed state: the backdrop is
opacity: 0; pointer-events: nonewhen the drawer is closed, so the map controls interact exactly as before. The panel only drops behind the overlay while the sidebar is actually open — the desired behavior.CSS-only, behavior-preserving. No JS/state coupling between the sidebar and map components was needed.
Testing
tsc --noEmit: no new errors introduced (CSS-only change).🤖 Generated with Claude Code