diff --git a/VERSION b/VERSION index 798a352..b054b1a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.144 +0.0.145 diff --git a/frontend/static/app.js b/frontend/static/app.js index d16a96a..726d5d0 100644 --- a/frontend/static/app.js +++ b/frontend/static/app.js @@ -281,6 +281,20 @@ function toggleFullscreen(el) { } } +// Клавиша F — переключить полноэкранный режим фрейма (live-main / arch-content). +// Esc выходит нативно. e.code (физическая клавиша) — работает и в русской раскладке. +function bindFullscreenKey() { + document.addEventListener("keydown", (e) => { + if (e.code !== "KeyF" || e.ctrlKey || e.metaKey || e.altKey) return; + const t = e.target; + if (t && (t.tagName === "INPUT" || t.tagName === "TEXTAREA" || t.isContentEditable)) return; + const frame = document.getElementById("live-main") || document.getElementById("arch-content"); + if (!frame) return; + e.preventDefault(); + toggleFullscreen(frame); + }); +} + // умеет ли браузер декодировать HEVC (H.265) сам — для нативного просмотра let _hevc = null; function hevcSupported() { @@ -2197,6 +2211,7 @@ document.addEventListener("DOMContentLoaded", async () => { ensureFooter(); // создаёт футер с #sys-stats/#clock до их заполнения startClock(); bindLogout(); + bindFullscreenKey(); refreshStats(); setInterval(refreshStats, 5000); applyGridMenuLimit(); const page = document.body.dataset.page; diff --git a/frontend/static/style.css b/frontend/static/style.css index 1a21d45..ec4d981 100644 --- a/frontend/static/style.css +++ b/frontend/static/style.css @@ -240,6 +240,9 @@ footer.grid-bar { .tile:fullscreen { border: none; background: #000; } .tile:fullscreen video, .tile:fullscreen video-stream { object-fit: contain; } #grid:fullscreen { width: 100vw; height: 100vh; background: var(--bg); padding: 0; } +/* в полноэкранном режиме панель-футер скрыта (вход/выход — клавиша F, выход также Esc) */ +#live-main:fullscreen .grid-bar, +#arch-content:fullscreen .grid-bar { display: none; } .hevc-hint { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; background: rgba(63, 3, 3, .88); color: #fff; font-size: 11px;