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