use bootstrap 5 for UI, compact UI

This commit is contained in:
ayurishchev committed 2026-08-23 21:15:31 +03:00
1 parent 37910e410b
commit ee2a29cb36
18 files changed
+284 -161

No files matched your search

+11 -7
View File
@@ -12,13 +12,17 @@
- Рендеринг полностью на сервере: `html/template` + [htmx](https://htmx.org)
(частичные обновления без перезагрузки страницы) +
[Alpine.js](https://alpinejs.dev) (точечная клиентская интерактивность) +
[Pico CSS](https://picocss.com) в classless-сборке (минималистичный вид
на голой семантической разметке). Никакой сборки фронтенда нет — все три
библиотеки вендорены как статические файлы
(`internal/dashboard/static/vendor/`, см. `VENDOR.md` там же) и встроены
в бинарник через `//go:embed`. Дашборд работает полностью офлайн — при
открытии страницы браузер не делает ни одного запроса за пределы самого
дашборда (можно проверить через DevTools → Network).
[Bootstrap 5](https://getbootstrap.com) (стабильная 5.3.x) для оформления
— компактные таблицы/формы/бейджи через `table-sm`/`*-sm`-утилиты и
плотную сетку, без кастомной вёрстки с нуля. Только CSS-часть Bootstrap:
JS-бандл (навигация-collapse/модалки/тултипы) не подключён — ничего из
этого дашборд не использует, подтверждения — через нативный
`hx-confirm`. Никакой сборки фронтенда нет — все библиотеки вендорены
как статические файлы (`internal/dashboard/static/vendor/`, см.
`VENDOR.md` там же) и встроены в бинарник через `//go:embed`. Дашборд
работает полностью офлайн — при открытии страницы браузер не делает ни
одного запроса за пределы самого дашборда (можно проверить через
DevTools → Network).
- Браузер никогда не видит JSON `control-api` напрямую: каждая страница и
каждый htmx-фрагмент — это HTML, отрендеренный Go-хендлером дашборда
после вызова `control-api`. CORS и reverse-proxy не нужны.