diff --git a/tasks/enduro-trails/prototype/static/app.css b/tasks/enduro-trails/prototype/static/app.css index 5ca1033..b0505f5 100644 --- a/tasks/enduro-trails/prototype/static/app.css +++ b/tasks/enduro-trails/prototype/static/app.css @@ -237,6 +237,8 @@ html, body { transition: opacity 0.3s; } #sheet-backdrop.visible { opacity: 1; pointer-events: auto; } +/* Allow map clicks through backdrop when route/ruler/marker/recon/link/scenic mode is active */ +body.has-map-mode #sheet-backdrop.visible { pointer-events: none; } /* ── Section Label ────────────────────────────── */ .section-label { font-size: 10px; font-weight: 800; color: var(--text3); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 8px; margin-top: 4px; } diff --git a/tasks/enduro-trails/prototype/static/app.js b/tasks/enduro-trails/prototype/static/app.js index 6cfc1d9..419ee9b 100644 --- a/tasks/enduro-trails/prototype/static/app.js +++ b/tasks/enduro-trails/prototype/static/app.js @@ -283,6 +283,12 @@ function deactivateAllModes() { if (typeof linkMode !== 'undefined' && linkMode) toggleLinkMode(); if (typeof scenicMode !== 'undefined' && scenicMode) toggleScenicMode(); if (window._map) window._map.getCanvas().style.cursor = ''; + updateMapModeClass(); +} + +function updateMapModeClass() { + const has = routeMode || rulerMode || markerMode || reconMode || linkMode || scenicMode; + document.body.classList.toggle('has-map-mode', !!has); } // ─── Компас ──────────────────────────────────────────────────────── @@ -392,6 +398,7 @@ function toggleRouteMode() { clearRoute(); window._map.getCanvas().style.cursor = ''; } + updateMapModeClass(); } function clearRoute() { @@ -729,6 +736,7 @@ function toggleMarkerMode() { btn.classList.remove('active'); window._map.getCanvas().style.cursor = ''; } + updateMapModeClass(); } function addMarker(lngLat) { @@ -1087,6 +1095,7 @@ function toggleRuler() { clearRuler(); document.getElementById('ruler-info').classList.remove('visible'); } + updateMapModeClass(); } function clearRuler() { @@ -1172,6 +1181,7 @@ function toggleReconMode() { window._map.getCanvas().style.cursor = ''; clearRecon(); } + updateMapModeClass(); } function makeCircleGeoJSON(lon, lat, radiusKm) { @@ -1283,6 +1293,7 @@ function toggleLinkMode() { window._map.getCanvas().style.cursor = ''; clearLink(); } + updateMapModeClass(); } function addLinkPoint(lng, lat) { @@ -1430,6 +1441,7 @@ function toggleScenicMode() { window._map.getCanvas().style.cursor = ''; clearScenic(); } + updateMapModeClass(); } function setScenicKm(km) {