From a519b78eb2e69f7e4b2674ab52bce8c18fe28847 Mon Sep 17 00:00:00 2001 From: core Date: Mon, 1 Jun 2026 21:15:39 +0500 Subject: [PATCH] =?UTF-8?q?ui:=20remove=20per-row=20=D0=9B=D0=BE=D0=B3/?= =?UTF-8?q?=E2=9F=B3/=E2=9C=95=20buttons=20from=20camera=20table,=20fix=20?= =?UTF-8?q?row=20height=20to=2022px?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The camera table actions column (log/restart/delete buttons) is removed: the table drops to 8 columns across thead, filled rows, empty slots and the bulk-edit rows. The now-orphaned log subrow and openLogs tracking are gone. Camera rows get a hard fixed height of 22px via a new table.cams.cams-fixed rule (zero vertical padding, 22px line-height) so rows never inflate. Co-Authored-By: Claude Opus 4.8 (1M context) --- VERSION | 2 +- frontend/settings.html | 4 ++-- frontend/static/app.js | 23 ++++------------------- frontend/static/style.css | 6 ++++-- 4 files changed, 11 insertions(+), 24 deletions(-) diff --git a/VERSION b/VERSION index e471163..ccefc02 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.136 +0.0.137 diff --git a/frontend/settings.html b/frontend/settings.html index 723822e..4cad582 100644 --- a/frontend/settings.html +++ b/frontend/settings.html @@ -45,9 +45,9 @@ - +
- +
IDКамераIPПотокиВклЗаписьХранилищеСтатус
IDКамераIPПотокиВклЗаписьХранилищеСтатус
diff --git a/frontend/static/app.js b/frontend/static/app.js index e63e5b3..d124b58 100644 --- a/frontend/static/app.js +++ b/frontend/static/app.js @@ -1257,8 +1257,7 @@ const CamSettings = { `` + `` + `` + - `` + - `` + `` ); }, @@ -1329,7 +1328,7 @@ const CamSettings = { const v = (x) => this.esc(x); const isEdit = !!cam; return ( - `` + + `` + `
` + `` + `` + @@ -1414,9 +1413,6 @@ const CamSettings = { this.byId = {}; cams.forEach((c) => { this.byId[c.id] = c; }); const tb = document.getElementById("cam-rows"); - const openLogs = new Set( - [...document.querySelectorAll(".logbox")].filter((b) => !b.hidden).map((b) => b.id) - ); tb.innerHTML = ""; if (this.bulk) { // массовое редактирование: ВСЕ 64 слота сразу редактируемые (пустые — для добавления) @@ -1448,26 +1444,15 @@ const CamSettings = { `` + `` + `` + - `${statusCell}` + - `` + - ` ` + - ` ` + - `` + - ``; + `${statusCell}`; tb.appendChild(tr); - const logTr = document.createElement("tr"); - logTr.className = "logrow"; - const hid = openLogs.has("log-" + c.id) ? "" : "hidden"; - logTr.innerHTML = `
`; - tb.appendChild(logTr); } else { tr.className = "slot-empty"; tr.dataset.slot = i + 1; tr.innerHTML = `${i + 1}` + `——————` + - `пусто` + - ``; + `пусто`; tb.appendChild(tr); } } diff --git a/frontend/static/style.css b/frontend/static/style.css index b75034d..a9436a8 100644 --- a/frontend/static/style.css +++ b/frontend/static/style.css @@ -425,8 +425,10 @@ table.cams th, table.cams td { table.cams th { color: var(--text-dim); font-weight: 500; font-size: 11px; padding: 4px 10px; } table.cams td.actions { white-space: nowrap; text-align: right; } table.cams tr.slot-empty td { opacity: .5; } -/* строка-контейнер лога не должна занимать высоту, пока лог скрыт */ -table.cams tr.logrow > td { padding: 0; border: none; } +/* камеры: жёстко фиксированная высота строки 22px (плотная таблица) */ +table.cams.cams-fixed td, table.cams.cams-fixed th { + height: 22px; padding-top: 0; padding-bottom: 0; line-height: 22px; +} /* ── Инлайн-редактор строки (вместо всплывающего окна) ── */ .cam-edit { background: var(--panel-2); padding: 12px 12px 14px; }