auto-sync: 2026-05-05 14:10:01

This commit is contained in:
Stream
2026-05-05 14:10:01 +03:00
parent 2d0021b8cc
commit dd4ed959ab

View File

@@ -281,7 +281,8 @@ function showSkeleton(containerId, count) {
// ─── Deactivate All Modes ────────────────────────────────────────── // ─── Deactivate All Modes ──────────────────────────────────────────
function deactivateAllModes() { function deactivateAllModes() {
if (routeMode) { routeMode = false; document.getElementById('tb-route').classList.remove('active'); closeSheet('sheet-route'); clearRoute(); } // Deactivate all input modes but preserve route/scenic/link data on map
if (routeMode) { routeMode = false; document.getElementById('tb-route').classList.remove('active'); closeSheet('sheet-route'); /* NOT clearRoute — keep line on map */ }
if (rulerMode) toggleRuler(); if (rulerMode) toggleRuler();
if (markerMode) toggleMarkerMode(); if (markerMode) toggleMarkerMode();
if (typeof reconMode !== 'undefined' && reconMode) toggleReconMode(); if (typeof reconMode !== 'undefined' && reconMode) toggleReconMode();
@@ -392,19 +393,22 @@ function toggleRouteMode() {
const sheet = document.getElementById('sheet-route'); const sheet = document.getElementById('sheet-route');
if (routeMode) { if (routeMode) {
// Already in route mode // Already in route input mode → exit input mode but keep route on map
if (sheet.classList.contains('open')) { routeMode = false;
// Sheet is open → close sheet but keep route on map btn.classList.remove('active');
minimizeSheet('sheet-route'); closeSheet('sheet-route');
} else { window._map.getCanvas().style.cursor = '';
// Sheet already closed → exit route mode entirely (clear route) } else if (routeResults.length > 0) {
routeMode = false; // Not in input mode, but route exists on map → clear it and start fresh
btn.classList.remove('active'); clearRoute();
clearRoute(); // Now enter input mode
window._map.getCanvas().style.cursor = ''; deactivateAllModes();
} routeMode = true;
btn.classList.add('active');
openSheet('sheet-route');
window._map.getCanvas().style.cursor = 'crosshair';
} else { } else {
// Enter route mode // No route, not in mode → enter route input mode
deactivateAllModes(); deactivateAllModes();
routeMode = true; routeMode = true;
btn.classList.add('active'); btn.classList.add('active');
@@ -1183,16 +1187,13 @@ let reconRadius = 20;
function toggleReconMode() { function toggleReconMode() {
const btn = document.getElementById('tb-recon'); const btn = document.getElementById('tb-recon');
const sheet = document.getElementById('sheet-recon');
if (reconMode) { if (reconMode) {
if (sheet.classList.contains('open')) { // Exit recon mode
minimizeSheet('sheet-recon'); reconMode = false;
} else { btn.classList.remove('active');
reconMode = false; closeSheet('sheet-recon');
btn.classList.remove('active'); window._map.getCanvas().style.cursor = '';
window._map.getCanvas().style.cursor = ''; clearRecon(); // recon data is transient — safe to clear
clearRecon();
}
} else { } else {
deactivateAllModes(); deactivateAllModes();
reconMode = true; reconMode = true;
@@ -1295,16 +1296,13 @@ let linkMarkers = [];
function toggleLinkMode() { function toggleLinkMode() {
const btn = document.getElementById('tb-link'); const btn = document.getElementById('tb-link');
const sheet = document.getElementById('sheet-link');
if (linkMode) { if (linkMode) {
if (sheet.classList.contains('open')) { // Exit link mode
minimizeSheet('sheet-link'); linkMode = false;
} else { btn.classList.remove('active');
linkMode = false; closeSheet('sheet-link');
btn.classList.remove('active'); window._map.getCanvas().style.cursor = '';
window._map.getCanvas().style.cursor = ''; clearLink();
clearLink();
}
} else { } else {
deactivateAllModes(); deactivateAllModes();
linkMode = true; linkMode = true;
@@ -1451,16 +1449,13 @@ let activeScenicIdx = 0;
function toggleScenicMode() { function toggleScenicMode() {
const btn = document.getElementById('tb-scenic'); const btn = document.getElementById('tb-scenic');
const sheet = document.getElementById('sheet-scenic');
if (scenicMode) { if (scenicMode) {
if (sheet.classList.contains('open')) { // Exit scenic mode
minimizeSheet('sheet-scenic'); scenicMode = false;
} else { btn.classList.remove('active');
scenicMode = false; closeSheet('sheet-scenic');
btn.classList.remove('active'); window._map.getCanvas().style.cursor = '';
window._map.getCanvas().style.cursor = ''; clearScenic();
clearScenic();
}
} else { } else {
deactivateAllModes(); deactivateAllModes();
scenicMode = true; scenicMode = true;