auto-sync: 2026-05-06 01:10:01
This commit is contained in:
@@ -98,6 +98,7 @@ docker restart prototype-enduro-trails-1
|
||||
| F-15 | "Народные треки" | OSM Traces, Wikiloc, Komoot, 4x4travel | ⏳ Бэклог | 8 |
|
||||
| F-16 | Тёмная тема + редизайн | Две темы (авто/светлая/тёмная), SunCalc, мобильный UI, drag-and-drop точек, расстояние по маршруту | ✅ Готово | 5 |
|
||||
| F-17 | PWA + офлайн | Service Worker, MBTiles, GPS-трекинг | ⏳ Бэклог | 7 |
|
||||
| F-18 | Светлая карта | Создать `style-light.json` — светлый стиль карты для светлой темы. Сейчас при светлой теме карта остаётся тёмной (`style-light.json` отсутствует) | ⏳ Бэклог | 5.1 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -126,7 +126,8 @@ html, body {
|
||||
#map-controls-r {
|
||||
position: fixed; right: 12px;
|
||||
bottom: calc(80px + env(safe-area-inset-bottom, 0px) + 12px);
|
||||
display: flex; flex-direction: column; gap: 8px; z-index: 200;
|
||||
display: flex; flex-direction: column; gap: 8px; z-index: 400;
|
||||
transition: bottom 0.2s ease;
|
||||
}
|
||||
.map-btn {
|
||||
width: 48px; height: 48px;
|
||||
@@ -629,7 +630,7 @@ body.has-map-mode #sheet-backdrop.visible { pointer-events: none; }
|
||||
/* ── Mini Route Bar ───────────────────────── */
|
||||
#sheet-route-mini {
|
||||
position: fixed;
|
||||
bottom: 72px; left: 0; right: 56px;
|
||||
bottom: 72px; left: 0; right: 0;
|
||||
height: 64px;
|
||||
background: var(--surface);
|
||||
border-top: 1px solid var(--border);
|
||||
|
||||
30
tasks/enduro-trails/prototype/static/app.js
vendored
30
tasks/enduro-trails/prototype/static/app.js
vendored
@@ -476,10 +476,26 @@ function createWaypointMarkerEl(index, total) {
|
||||
bg = '#0066ff'; label = String(index);
|
||||
}
|
||||
|
||||
el.innerHTML = `<svg width="28" height="36" viewBox="0 0 28 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 1C6.82 1 1 6.82 1 14C1 24 14 35 14 35C14 35 27 24 27 14C27 6.82 21.18 1 14 1Z" fill="${bg}" stroke="white" stroke-width="1.5"/>
|
||||
<text x="14" y="19" text-anchor="middle" font-family="system-ui,-apple-system,sans-serif" font-size="${label.length > 1 ? '9' : '11'}" font-weight="700" fill="white">${label}</text>
|
||||
</svg>`;
|
||||
if (label === 'F') {
|
||||
const uid = Math.random().toString(36).slice(2);
|
||||
el.innerHTML = `<svg width="28" height="36" viewBox="0 0 28 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<pattern id="chk-${uid}" x="0" y="0" width="8" height="8" patternUnits="userSpaceOnUse">
|
||||
<rect width="4" height="4" fill="black"/>
|
||||
<rect x="4" y="0" width="4" height="4" fill="white"/>
|
||||
<rect x="0" y="4" width="4" height="4" fill="white"/>
|
||||
<rect x="4" y="4" width="4" height="4" fill="black"/>
|
||||
</pattern>
|
||||
</defs>
|
||||
<path d="M14 1C6.82 1 1 6.82 1 14C1 24 14 35 14 35C14 35 27 24 27 14C27 6.82 21.18 1 14 1Z" fill="url(#chk-${uid})" stroke="white" stroke-width="1.5"/>
|
||||
<text x="14" y="19" text-anchor="middle" font-family="system-ui,-apple-system,sans-serif" font-size="11" font-weight="700" fill="white" stroke="black" stroke-width="0.5">F</text>
|
||||
</svg>`;
|
||||
} else {
|
||||
el.innerHTML = `<svg width="28" height="36" viewBox="0 0 28 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 1C6.82 1 1 6.82 1 14C1 24 14 35 14 35C14 35 27 24 27 14C27 6.82 21.18 1 14 1Z" fill="${bg}" stroke="white" stroke-width="1.5"/>
|
||||
<text x="14" y="19" text-anchor="middle" font-family="system-ui,-apple-system,sans-serif" font-size="${label.length > 1 ? '9' : '11'}" font-weight="700" fill="white">${label}</text>
|
||||
</svg>`;
|
||||
}
|
||||
|
||||
return el;
|
||||
}
|
||||
@@ -2126,12 +2142,18 @@ function showMiniRouteSheet() {
|
||||
if (!routeResults || routeResults.length === 0) return;
|
||||
updateMiniRouteCard();
|
||||
document.getElementById('sheet-route-mini').classList.add('visible');
|
||||
// Поднять кнопки карты над мини-баром (64px высота + 72px bottom + 8px отступ)
|
||||
const ctrl = document.getElementById('map-controls-r');
|
||||
if (ctrl) ctrl.style.bottom = '148px';
|
||||
initMiniRouteInteraction();
|
||||
}
|
||||
|
||||
function hideMiniRouteSheet() {
|
||||
const el = document.getElementById('sheet-route-mini');
|
||||
if (el) el.classList.remove('visible');
|
||||
// Вернуть кнопки на место
|
||||
const ctrl = document.getElementById('map-controls-r');
|
||||
if (ctrl) ctrl.style.bottom = '';
|
||||
}
|
||||
|
||||
function updateMiniRouteCard() {
|
||||
|
||||
Reference in New Issue
Block a user