Веб-морда: поиск, фильтры, сортировка и пагинация клиентов; раскладка настроек
CI / test (push) Successful in 1m19s
Release / release (push) Successful in 1m18s

- список клиентов: поиск по домену и названию, фильтр по статусу (чипы
  со счётчиками), сортировка по любой колонке, пагинация 10/25/50/100;
  состояние в URL — отфильтрованный вид можно сохранить ссылкой
- размеры последних бэкапов одним запросом вместо запроса на клиента
- шапка выровнена по колонке контента; настройки на всю ширину:
  ntfy и Telegram двумя карточками, на узком экране — друг под другом

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nidandClaude Opus 5.5 committed 2026-10-06 22:42:32 +03:00
1 parent c6942605c1
commit 83832fc734
8 files changed
+626 -179

No files matched your search

+11 -9
View File
@@ -9,15 +9,17 @@
<body>
{{if ne .Page "login"}}
<header class="top">
<a class="brand" href="/">backup-master</a>
<nav>
<a href="/" {{if or (eq .Page "clients") (eq .Page "client") (eq .Page "backup")}}class="active"{{end}}>Клиенты</a>
<a href="/settings" {{if eq .Page "settings"}}class="active"{{end}}>Настройки</a>
<form method="post" action="/logout" class="inline">
<input type="hidden" name="csrf" value="{{.CSRF}}">
<button class="link">Выйти</button>
</form>
</nav>
<div class="wrap">
<a class="brand" href="/">backup-master</a>
<nav>
<a href="/" {{if or (eq .Page "clients") (eq .Page "client") (eq .Page "backup")}}class="active"{{end}}>Клиенты</a>
<a href="/settings" {{if eq .Page "settings"}}class="active"{{end}}>Настройки</a>
<form method="post" action="/logout" class="inline">
<input type="hidden" name="csrf" value="{{.CSRF}}">
<button class="link">Выйти</button>
</form>
</nav>
</div>
</header>
{{end}}
<main>