ui: /settings/notifications list + edit form (3 kinds)

Add settings.html (shell + sub-tab nav + conditional list/edit body),
notifications.html and notification_edit.html (glob stubs), and the
supporting CSS tokens (.ch-row, .ch-icon, .toggle, .kind-grid,
.kind-card, .radio-pip, .test-pill) to input.css. Rebuild styles.css.
Add ui_parse_test.go to catch template regressions at test time.

The kind picker is JS-driven (no full page reload); the enabled toggle
mirrors the existing visual toggle pattern; the test-notification button
uses HTMX and renders the JSON response as a coloured pill client-side.
This commit is contained in:
2026-05-04 20:25:06 +01:00
parent d373d19647
commit 371fe734f3
6 changed files with 686 additions and 1 deletions
+12
View File
@@ -0,0 +1,12 @@
package ui
import "testing"
// TestNewParsesAllTemplates ensures ui.New() can parse every template
// registered under templates/pages/ without error. Run this after
// adding or editing any template file.
func TestNewParsesAllTemplates(t *testing.T) {
if _, err := New(); err != nil {
t.Fatalf("ui.New() returned error: %v", err)
}
}