From 36af1bf288b1b382d18fed5cb9cf37976ff2e75f Mon Sep 17 00:00:00 2001 From: noroot Date: Sat, 29 Aug 2026 15:06:14 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20responsives=20Frontend=20=E2=80=94=20Se?= =?UTF-8?q?itenleiste=20ab=20Desktop,=20Tabellen-Styling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nav wird jetzt für alle Seiten aus einer einzigen Stelle (layout.html-Block) gerendert: auf dem Handy ein per Checkbox-Hack aufklappbares Menü (kein JavaScript), ab 960px Breite per CSS in eine permanente, dunkle Seitenleiste im enconf-Look verwandelt — dieselbe Markup-Struktur bedient beide Layouts, kein separates Desktop-Template.
/ wurde bewusst NICHT verwendet: aktuelle Chromium-Versionen steuern dessen Auf-/Zuklapp-Zustand über eine CSS-resistente interne Animation (auch mit !important nicht überschreibbar), per Headless-Screenshot verifiziert. Zusätzlich: Tabellen (vorher komplett ungestylt, betraf v. a. das Register) haben jetzt echte Gestaltung inkl. horizontal scrollbarem Wrapper für schmale Bildschirme, Listenkarten ohne Link-Wrapper (Nutzer-/Abteilungsliste) bekommen dieselbe Kartenoptik wie verlinkte Einträge, und destruktive Aktionen (Löschen/Deaktivieren) sind jetzt visuell von primären Aktionen unterschieden. Co-Authored-By: Claude Sonnet 5 --- CLAUDE.md | 48 +++- internal/web/static/app.css | 243 +++++++++++++++++- internal/web/templates/abteilung_liste.html | 2 +- .../templates/betreiber_werkzeug_form.html | 2 +- internal/web/templates/layout.html | 43 +++- internal/web/templates/nutzer_liste.html | 2 +- internal/web/templates/register_liste.html | 2 + 7 files changed, 311 insertions(+), 31 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 39bd47f..27a7c9c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -332,6 +332,49 @@ nicht anzulegen. Noch nicht gebaut (kein Abo-System). --- +## Frontend + +Anspruch (2026-08-29 explizit vom Nutzer bestätigt, da Deklarix ein +buchbarer Service werden soll): **für Browser UND Mobile optimiert, +und jede Entität im Datenmodell muss über das Frontend steuerbar sein** +— eine reine Anzeige-Seite ohne CRUD ist ein Defizit, kein v1-Kompromiss. +Stack bleibt `html/template` + htmx, kein React/Vue/SPA (siehe +Baureihenfolge/Architektur-Entscheidungen) — die responsive Optik wird +rein mit CSS erreicht, ohne das Template-Modell zu ändern. + +**Navigation** (`internal/web/templates/layout.html`, `"nav"`-Block, +einmal definiert und von jeder Seite eingebunden — Änderungen hier +wirken auf das ganze Produkt): ein Checkbox-Hack (versteckte Checkbox + +`