settings: move Player/transcode and Account into their own tabs

The "Система" tab was a catch-all (Recording, Player & transcoding,
Storage, System info, Account). Split out two dedicated tabs:

- "Плеер": per-browser playback/transcode profiles. Kept at operator+
  (the transcode option spawns server-side ffmpeg, i.e. CPU load).
- "Учётная запись": current user + logout. Ungated, so any signed-in
  user (incl. viewers) can log out -- previously it was buried inside
  the operator-only "Система" tab.

.tabs gets flex-wrap so the now-7 tabs wrap instead of overflowing.
VERSION -> 0.0.117.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-01 16:14:59 +05:00
parent d1ef54af27
commit fcddc0c470
3 changed files with 24 additions and 12 deletions
+1 -1
View File
@@ -1 +1 @@
0.0.116 0.0.117
+22 -10
View File
@@ -35,9 +35,11 @@
<div class="tabs"> <div class="tabs">
<button class="tab active" data-tab="cams" data-min-role="admin">Камеры</button> <button class="tab active" data-tab="cams" data-min-role="admin">Камеры</button>
<button class="tab" data-tab="layout">Раскладка</button> <button class="tab" data-tab="layout">Раскладка</button>
<button class="tab" data-tab="player" data-min-role="operator">Плеер</button>
<button class="tab" data-tab="users" data-min-role="superadmin">Пользователи</button> <button class="tab" data-tab="users" data-min-role="superadmin">Пользователи</button>
<button class="tab" data-tab="general" data-min-role="operator">Система</button> <button class="tab" data-tab="general" data-min-role="operator">Система</button>
<button class="tab" data-tab="optim" data-min-role="superadmin">Доп настройки</button> <button class="tab" data-tab="optim" data-min-role="superadmin">Доп настройки</button>
<button class="tab" data-tab="account">Учётная запись</button>
</div> </div>
<!-- ВКЛАДКА 1: Камеры --> <!-- ВКЛАДКА 1: Камеры -->
@@ -78,6 +80,21 @@
<div class="muted" id="segment-saved" style="margin-top:8px;font-size:12px"></div> <div class="muted" id="segment-saved" style="margin-top:8px;font-size:12px"></div>
</div> </div>
<div class="card">
<h2>Хранилище</h2>
<div class="kv" id="storage-kv"><div class="muted">загрузка…</div></div>
</div>
<div class="card">
<h2>Система</h2>
<div class="kv" id="system-kv"><div class="muted">загрузка…</div></div>
</div>
</div>
</div>
<!-- ВКЛАДКА: Плеер и перекодирование (этот браузер) -->
<div class="tab-panel" data-panel="player" data-min-role="operator" hidden>
<div class="wrap">
<div class="card"> <div class="card">
<h2>Плеер и перекодирование <span class="muted" style="font-weight:400;font-size:12px">— настройки этого браузера</span></h2> <h2>Плеер и перекодирование <span class="muted" style="font-weight:400;font-size:12px">— настройки этого браузера</span></h2>
<div class="muted" style="margin-top:-4px;margin-bottom:16px;font-size:12px"> <div class="muted" style="margin-top:-4px;margin-bottom:16px;font-size:12px">
@@ -127,17 +144,12 @@
<div style="margin-top:16px"><button id="prefs-save">Сохранить</button></div> <div style="margin-top:16px"><button id="prefs-save">Сохранить</button></div>
<div class="muted" id="prefs-saved" style="margin-top:8px;font-size:12px">Сохраняется в этом браузере</div> <div class="muted" id="prefs-saved" style="margin-top:8px;font-size:12px">Сохраняется в этом браузере</div>
</div> </div>
</div>
</div>
<div class="card"> <!-- ВКЛАДКА: Учётная запись -->
<h2>Хранилище</h2> <div class="tab-panel" data-panel="account" hidden>
<div class="kv" id="storage-kv"><div class="muted">загрузка…</div></div> <div class="wrap">
</div>
<div class="card">
<h2>Система</h2>
<div class="kv" id="system-kv"><div class="muted">загрузка…</div></div>
</div>
<div class="card"> <div class="card">
<h2>Учётная запись</h2> <h2>Учётная запись</h2>
<div class="muted" id="me-info" style="margin-bottom:10px;font-size:13px"></div> <div class="muted" id="me-info" style="margin-bottom:10px;font-size:13px"></div>
+1 -1
View File
@@ -328,7 +328,7 @@ input[type="date"], select {
.settings-main .wrap { max-width: 920px; margin: 0 auto; } .settings-main .wrap { max-width: 920px; margin: 0 auto; }
/* Вкладки (как в браузере) */ /* Вкладки (как в браузере) */
.tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--border); margin-bottom: 18px; } .tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--border); margin-bottom: 18px; }
.tab { .tab {
background: none; border: none; border-bottom: 2px solid transparent; border-radius: 0; background: none; border: none; border-bottom: 2px solid transparent; border-radius: 0;
color: var(--text-dim); padding: 10px 18px; cursor: pointer; font-size: 14px; font-weight: 500; color: var(--text-dim); padding: 10px 18px; cursor: pointer; font-size: 14px; font-weight: 500;