diff --git a/.gitignore b/.gitignore index ce242a7..c6450e6 100644 --- a/.gitignore +++ b/.gitignore @@ -23,5 +23,8 @@ tmp/ .DS_Store Thumbs.db +# --- Playwright test artifacts --- +.playwright-mcp/ + # --- Internal audit (not for commit) --- SECURITY_AUDIT.md diff --git a/.playwright-mcp/page-2026-09-09T05-41-29-429Z.yml b/.playwright-mcp/page-2026-09-09T05-41-29-429Z.yml deleted file mode 100644 index 33a3d9f..0000000 --- a/.playwright-mcp/page-2026-09-09T05-41-29-429Z.yml +++ /dev/null @@ -1,6 +0,0 @@ -- generic [ref=f1e2]: - - heading "Админ-панель" [level=1] [ref=f1e3] - - textbox "Пароль" [ref=f1e4] - - button "Войти" [ref=f1e5] [cursor=pointer] - - link "На главную" [ref=f1e7] [cursor=pointer]: - - /url: / \ No newline at end of file diff --git a/.playwright-mcp/page-2026-09-09T05-43-31-505Z.yml b/.playwright-mcp/page-2026-09-09T05-43-31-505Z.yml deleted file mode 100644 index 8a5290f..0000000 --- a/.playwright-mcp/page-2026-09-09T05-43-31-505Z.yml +++ /dev/null @@ -1,6 +0,0 @@ -- generic [ref=f3e2]: - - heading "Админ-панель" [level=1] [ref=f3e3] - - textbox "Пароль" [active] [ref=f3e4] - - button "Войти" [ref=f3e5] [cursor=pointer] - - link "На главную" [ref=f3e7] [cursor=pointer]: - - /url: / \ No newline at end of file diff --git a/public/admin.html b/public/admin.html index b8320aa..31a5e3e 100644 --- a/public/admin.html +++ b/public/admin.html @@ -3,7 +3,7 @@ Админ-панель - + diff --git a/public/admin.js b/public/admin.js index 5e88d09..cd5c2b6 100644 --- a/public/admin.js +++ b/public/admin.js @@ -42,7 +42,7 @@ function buildSidebar(active) {
На главную - Выйти + Выйти
`; } @@ -137,14 +137,32 @@ function copyText(text) { function renderPager(el, page, totalPages, onPage) { if (!el) return; if (totalPages <= 1) { el.innerHTML = ''; return; } - let html = ``; + let html = ``; for (let i = 1; i <= totalPages; i++) { if (totalPages > 9 && i > 2 && i < totalPages - 1 && Math.abs(i - page) > 2) { if (i === 3) html += ``; continue; } - html += ``; + html += ``; } - html += ``; + html += ``; el.innerHTML = html; -} \ No newline at end of file + el._onPage = onPage; + el._page = page; + if (!el._bound) { + el._bound = true; + el.addEventListener('click', e => { + const btn = e.target.closest('button'); + if (!btn || btn.disabled) return; + const p = btn.dataset.page ? parseInt(btn.dataset.page, 10) : el._page + parseInt(btn.dataset.nav, 10); + if (el._onPage) el._onPage(p); + }); + } +} + +document.addEventListener('click', e => { + const imgEl = e.target.closest('[data-img]'); + if (imgEl) { e.preventDefault(); showImg(imgEl.dataset.img); return; } + const out = e.target.closest('[data-action="logout"]'); + if (out) { e.preventDefault(); doLogout(); } +}); \ No newline at end of file diff --git a/public/audit.html b/public/audit.html index 24ddd6d..036a769 100644 --- a/public/audit.html +++ b/public/audit.html @@ -17,7 +17,7 @@
- +
@@ -39,77 +39,6 @@
- + \ No newline at end of file diff --git a/public/branches.html b/public/branches.html index 4f31ed3..8d10ec2 100644 --- a/public/branches.html +++ b/public/branches.html @@ -16,7 +16,7 @@
-
@@ -28,7 +28,7 @@ - -