auto-sync: 2026-05-05 16:00:01

This commit is contained in:
Stream
2026-05-05 16:00:01 +03:00
parent 15b4aace79
commit b4fac02c27

View File

@@ -249,14 +249,18 @@ function initSheetSwipe() {
sheet.classList.remove('swiping');
const dy = e.changedTouches[0].clientY - startY;
if (dy > 80) {
// Close the sheet and deactivate mode
const sheetId = sheet.id;
closeSheet(sheetId);
// Deactivate corresponding mode
if (sheetId === 'sheet-route' && routeMode) toggleRouteMode();
else if (sheetId === 'sheet-recon' && reconMode) toggleReconMode();
else if (sheetId === 'sheet-scenic' && scenicMode) toggleScenicMode();
else if (sheetId === 'sheet-link' && linkMode) toggleLinkMode();
if (sheetId === 'sheet-route' && routeResults && routeResults.length > 0) {
minimizeSheet(sheetId);
} else {
closeSheet(sheetId);
// Deactivate corresponding mode
if (sheetId === 'sheet-route' && routeMode) toggleRouteMode();
else if (sheetId === 'sheet-recon' && reconMode) toggleReconMode();
else if (sheetId === 'sheet-scenic' && scenicMode) toggleScenicMode();
else if (sheetId === 'sheet-link' && linkMode) toggleLinkMode();
}
sheet.style.transform = '';
} else {
sheet.style.transform = '';
}
@@ -393,16 +397,16 @@ function getBasePath() {
// ─── Режим маршрута ────────────────────────────────────────────────
function toggleRouteMode() {
const btn = document.getElementById('tb-route');
const sheet = document.getElementById('sheet-route');
if (routeMode) {
// Already in route input mode → exit input mode but keep route on map
// X button pressed while panel open → exit mode + clear route
routeMode = false;
btn.classList.remove('active');
closeSheet('sheet-route');
clearRoute();
window._map.getCanvas().style.cursor = '';
} else if (routeResults.length > 0) {
// Route exists — show full panel (hide mini first)
// Route exists, mini-bar visible → show full panel
hideMiniRouteSheet();
deactivateAllModes();
routeMode = true;
@@ -410,7 +414,7 @@ function toggleRouteMode() {
openSheet('sheet-route');
window._map.getCanvas().style.cursor = 'crosshair';
} else {
// No route, not in mode → enter route input mode
// No route → enter route input mode
hideMiniRouteSheet();
deactivateAllModes();
routeMode = true;
@@ -1613,7 +1617,6 @@ document.addEventListener('DOMContentLoaded', () => {
});
// ─── Mini Route Bar ──────────────────────────────────────────────────
const MINI_ROUTE_COLORS = ['#0066ff','#ff6600','#00aa44','#aa00ff','#ff0044'];
function showMiniRouteSheet() {
if (!routeResults || routeResults.length === 0) return;
@@ -1632,7 +1635,7 @@ function updateMiniRouteCard() {
if (!r) return;
const km = (r.distance_m / 1000).toFixed(0);
const dirt = r.stats?.dirt_total_pct ?? '—';
document.getElementById('mini-dot').style.background = MINI_ROUTE_COLORS[activeRouteIdx % MINI_ROUTE_COLORS.length];
document.getElementById('mini-dot').style.background = ROUTE_COLORS[activeRouteIdx % ROUTE_COLORS.length];
document.getElementById('mini-label').textContent = `Вариант ${activeRouteIdx + 1} из ${routeResults.length}`;
document.getElementById('mini-stats').textContent = `${km} км · ${dirt}% грунт`;
document.getElementById('mini-prev').style.opacity = activeRouteIdx > 0 ? '1' : '0.3';
@@ -1675,7 +1678,7 @@ function initMiniRouteInteraction() {
const dx = e.changedTouches[0].clientX - startX;
const dy = e.changedTouches[0].clientY - startY;
if (Math.abs(dy) > Math.abs(dx)) {
if (dy < -40) { hideMiniRouteSheet(); openSheet('sheet-route'); }
if (dy < -40) { hideMiniRouteSheet(); openSheet('sheet-route'); selectRoute(activeRouteIdx); }
} else {
if (dx < -40) selectMiniRoute(activeRouteIdx + 1);
if (dx > 40) selectMiniRoute(activeRouteIdx - 1);
@@ -1686,5 +1689,6 @@ function initMiniRouteInteraction() {
if (e.target.classList.contains('mini-arrow')) return;
hideMiniRouteSheet();
openSheet('sheet-route');
selectRoute(activeRouteIdx);
});
}