diff --git a/docs/session-logs/2026-09-14_ridden-roads-walk.md b/docs/session-logs/2026-09-14_ridden-roads-walk.md index a23fa79..f463fce 100644 --- a/docs/session-logs/2026-09-14_ridden-roads-walk.md +++ b/docs/session-logs/2026-09-14_ridden-roads-walk.md @@ -56,6 +56,14 @@ `localStorage.baldav_share_fields`. Проверено на десктопе (Xvfb): галочки рисуются, перерисовка и адаптив работают, «Закрыть» возвращает в деталь без листания. +## Аккордеон сегментов (деталь трека) +- Список сегментов (до 71 шт) разворачивал пол-экрана, до кнопок внизу было долго листать. + Секцию «Сегменты» завернул в нативный `
` со `` - + свёрнута по умолчанию, клик по заголовку разворачивает/сворачивает (шеврон крутится, + рядом счётчик N). Кнопки (Похвастаться, Экспорт, Удалить и т.д.) теперь сразу видны. +- Проверено на десктопе (Xvfb): свёрнуто по умолчанию, «СЕГМЕНТЫ 71» + блок велосипеда и + кнопки сразу под ним; клик разворачивает список, шеврон ▸ -> ▾. + ## Замечания на будущее - Ридден-нога без высот (тонкая); при желании нести среднюю высоту узла для оковки. - `walk` на десктопе не заполнен (не пересчитывал) - граф пока включает все точки; на реальном diff --git a/frontend/css/styles.css b/frontend/css/styles.css index e74d8c1..168b50c 100644 --- a/frontend/css/styles.css +++ b/frontend/css/styles.css @@ -1514,6 +1514,34 @@ body.dark-map .poi-badge { background: #111; border-color: #eee; } font-weight: 600; } +/* Collapsible section (native
): header stays visible, body folds away + so the action buttons below aren't buried under a long segment list. */ +.sd-acc-title { + cursor: pointer; + list-style: none; + display: flex; + align-items: center; + gap: 8px; + user-select: none; + padding: 6px 0; +} +.sd-acc-title::-webkit-details-marker { display: none; } +.sd-acc-title::before { + content: "\25B8"; /* ▸ */ + display: inline-block; + transition: transform 0.15s; + font-size: 11px; +} +.sd-accordion[open] .sd-acc-title::before { transform: rotate(90deg); } +.sd-acc-count { + background: var(--border); + color: var(--on-bg); + border-radius: 10px; + padding: 1px 8px; + font-size: 11px; + font-weight: 600; +} + .sd-row { display: flex; gap: 8px; diff --git a/frontend/js/main.js b/frontend/js/main.js index 2a1fcdb..e55336d 100644 --- a/frontend/js/main.js +++ b/frontend/js/main.js @@ -5212,8 +5212,8 @@ async function showSessionDetail(sessionId) { ` : ""} ${(stats.segments && stats.segments.length > 1) ? ` -
-
Сегменты
+
+ Сегменты ${stats.segments.length}
${stats.segments.map(seg => { let icon = seg.type === "climb" ? "^" : seg.type === "descent" ? "v" : "-"; @@ -5229,7 +5229,7 @@ async function showSessionDetail(sessionId) {
`; }).join("")}
- ` : ""} +
` : ""}