From fef0bd88f73e7c55fb4a69a48d840a465b0817c9 Mon Sep 17 00:00:00 2001 From: Jerrit Fritzsche Date: Tue, 18 Aug 2026 15:07:55 +0200 Subject: [PATCH] Preset b5vnF8SMi uebernommen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Violett als Handlungsfarbe, Radius 0, schattenlos, durchgehend Geist Mono. Kantig und ruhig — die praegenden Merkmale des Presets. Drei begruendete Abweichungen, im Code festgehalten: - **Die Statusfarben bleiben.** Das Preset kennt nur `destructive` und fuenf Diagrammfarben; PROMPT §106 verlangt fuenf Bedeutungen. Ohne sie liesse sich ein Teilfehler nicht von einem Erfolg unterscheiden — die eine Aussage, auf die es in dieser Konsole ankommt. Sie sind an die Neutraltoene des Presets angepasst; Rot stammt aus dessen `destructive`. - **Das dunkle Thema haengt weiter an `[data-theme='dark']`.** Der Umschalter setzt dieses Attribut und ist getestet; `.dark` wird zusaetzlich unterstuetzt. - **Die Schrift laedt nicht nach.** Geist Mono steht zuerst im Stapel und wird verwendet, wenn sie auf dem Geraet liegt; sonst greift die System-Monospace. Eine Schrift von einem fremden Host zu holen verbietet die CSP der Auslieferung — und ein Backup-Server, der fuer seine Oberflaeche ins Internet greift, waere auch ohne CSP falsch. Eine Zuordnung war die Stolperstelle: In shadcn ist `accent` die dezente Hover-Flaeche und `primary` die Farbe der Handlung. Sie zu verwechseln machte jede Schaltflaeche grau. Das Preset-`primary` wird deshalb zu `--accent`, das Preset-`accent` zu `--surface-hover`. Die Benennung bleibt semantisch (`--surface-card`, `--text-primary`) statt shadcn-typisch: Die Zuordnung steht an genau einer Stelle, und ein Wechsel des Presets fasst keine einzige Komponente an. Karten, Schaltflaechen, Dialoge, Toasts und die Anmeldemaske sind auf schattenlos umgestellt; Dialog und Toast behalten einen kraeftigen Rand, weil sie sonst ohne Trennung ueber der Seite schwebten — im dunklen Thema ist der normale Rand schwarz. Die Seitenleiste bekommt die eigene Flaeche des Presets. Nachgewiesen gegen Debian 12 mit nginx: alle 18 Seiten liefern 200, das ausgelieferte CSS traegt Akzent, Radius 0 und Geist Mono, /retention zeigt 0 eigene Regeln und 6 anklickbare Vorlagen. 84 Tests gruen, tsc sauber, eslint ohne Warnung. CSS 28,7 KB. Co-Authored-By: Claude Opus 5 --- apps/web/src/components/layout/AppShell.tsx | 2 +- apps/web/src/components/ui/Button.tsx | 2 +- apps/web/src/components/ui/Card.tsx | 2 +- apps/web/src/components/ui/Dialog.tsx | 2 +- apps/web/src/components/ui/Form.tsx | 2 +- apps/web/src/components/ui/Toast.tsx | 2 +- apps/web/src/features/auth/LoginPage.tsx | 2 +- apps/web/src/styles/theme.css | 288 +++++++++++--------- 8 files changed, 162 insertions(+), 140 deletions(-) diff --git a/apps/web/src/components/layout/AppShell.tsx b/apps/web/src/components/layout/AppShell.tsx index 9093420..2f36330 100644 --- a/apps/web/src/components/layout/AppShell.tsx +++ b/apps/web/src/components/layout/AppShell.tsx @@ -87,7 +87,7 @@ export function AppShell({