theme config, layout preview, container alignment

Server: ThemeConfig entity + CRUD (GET/PUT /theme), SQLite persistence,
ThemeUpdate broadcast to ESP32 on save and initial connect.
Client: render engine uses theme colors, full-screen redraw on theme change.
SPA: theme page with color pickers + presets, layout preview with TS port
of layout engine, justify/align controls on containers.
DisplayHint refactored to struct (kind + h_align + v_align).
This commit is contained in:
2026-06-19 03:26:18 +02:00
parent 81a4167382
commit fe59b68c37
46 changed files with 1276 additions and 118 deletions

View File

@@ -20,6 +20,7 @@ import {
Database,
Box,
Layers,
Palette,
Save,
BookOpen,
LogOut,
@@ -30,6 +31,7 @@ const NAV = [
{ to: "/data-sources", label: "Data Sources", icon: Database },
{ to: "/widgets", label: "Widgets", icon: Box },
{ to: "/layout", label: "Layout", icon: Layers },
{ to: "/theme", label: "Theme", icon: Palette },
{ to: "/presets", label: "Presets", icon: Save },
{ to: "/guide", label: "Guide", icon: BookOpen },
] as const