mobile: hamburger drawer for mode select; live=pause/play, archive=seek

Move mode selection (Live / Архив) into a top hamburger side-drawer
instead of the bottom bar. Header now shows the ☰ button + current mode
title. Live view has a single pause/play button (no seek bar); Archive
keeps native controls for seeking (перемотка).

VERSION 0.0.151 -> 0.0.152

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-01 23:55:20 +05:00
parent 126b588dc7
commit c408fcbe92
4 changed files with 78 additions and 26 deletions
+17 -4
View File
@@ -44,16 +44,29 @@ const M = {
else if (lv.webkitEnterFullscreen) lv.webkitEnterFullscreen(); // iOS
});
// одна кнопка снизу — переключатель режима (или/или): Live Архив
document.getElementById("m-mode").onclick = () =>
this.showView(this.view === "live" ? "arch" : "live");
// бутерброд-меню сверху: выбор режима (Live / Архив)
const drawer = document.getElementById("m-drawer");
const scrim = document.getElementById("m-scrim");
const setMenu = (open) => { drawer.classList.toggle("open", open); scrim.hidden = !open; };
document.getElementById("m-burger").onclick = () => setMenu(!drawer.classList.contains("open"));
scrim.onclick = () => setMenu(false);
document.querySelectorAll(".m-nav").forEach((b) => {
b.onclick = () => { this.showView(b.dataset.view); setMenu(false); };
});
// live: только пауза / воспроизведение
const lt = document.getElementById("m-live-toggle");
lt.onclick = () => { if (lv.paused) lv.play().catch(() => {}); else lv.pause(); };
lv.addEventListener("play", () => { lt.textContent = "⏸"; });
lv.addEventListener("pause", () => { lt.textContent = "▶"; });
this.showView("live");
},
showView(v) {
this.view = v;
document.getElementById("m-mode-name").textContent = v === "live" ? "Live" : "Архив";
document.getElementById("m-title").textContent = v === "live" ? "Live" : "Архив";
document.querySelectorAll(".m-nav").forEach((b) => b.classList.toggle("active", b.dataset.view === v));
document.getElementById("view-live").hidden = v !== "live";
document.getElementById("view-arch").hidden = v !== "arch";
if (v === "live") { this.stopArch(); this.startLive(); }