Theming-Migration + shared-UI-Adoption. Tag 1 hatte ein oklch-
Phase-0-Theme; Tag 2 wechselt auf @mana/themes-Forest und zieht
@mana/shared-ui-2-NavLinks ins Header.
Stats
3 Commits, +262 / −220 LoC, 21 Files. 14× .svelte. Top-Dirs:
web/routes (42 %), web/lib (17 %). Tags: theming, deps. Active-
Time 0 Min (claudebot-Commits, lange Pause).
Schritte
- dev:full + nutriphi-dev-Alias.
pnpm dev:full startet
api + web + lokal-Postgres parallel. Convenience-Script.
- feat(theming):
forest from @mana/themes. Vorher oklch-
Inline-Werte aus Phase 0; jetzt @import '@mana/themes/variants/ forest.css' + data-theme="forest" in app.html. HSL-Channels
mit hsl(var(--color-X))-Wrap (siehe THEMING.md-Falle: bare
var(--color-X) ist silent inherit-fallback).
- feat(deps):
@mana/shared-ui-2 für Header-NavLinks.
NavLink-Component aus shared statt eigener Header-Implementation.
Architektur-Entscheidungen
@mana/themes als externes Paket konsumieren, nicht inline.
Theme-Drift gegen Verein-Standard durch Versionspin verhindert.
forest-Variant statt mana-Default — Nutriphi hat sein
eigenes Branding-Profil (siehe nutriphi-Theme-Diskussion in
THEMING.md).
- shared-ui-2 vs. shared-ui:
-2 ist die aktuelle Generation
mit Svelte-5-Runes-Support. Migration aus dem alten shared-ui
ist Plattform-Sache.
- CSS-Channel-Format
hsl(var(--color-X)) verbindlich. Bare
var(--color-X) führt zu silent inherit-fallback und damit
optischen Glitches — dokumentiert in CLAUDE.md.
Trade-offs
- Dependencies stiegen durch
@mana/shared-ui-2. Versions-
Disziplin Klasse A (SHARED_PACKAGES.md) zwingt zu schnellen
Bumps; akzeptiert für UI-Konsistenz.
forest global für die ganze App. Wenn später pro-Tab-Theme
gewünscht wäre, müssten wir 12-Token-Vokabular ausnutzen statt
einer Variant.
- 0 aktive Minuten ist Mess-Artefakt: claudebot-Commits sind
Push-Events nach längerer Vorarbeit.
Offene Punkte
- Lost-Pixel-Snapshots vor/nach Theme-Switch noch nicht
gemacht — Regress-Schutz fehlt.
- shared-ui-2 weiter ausrollen: außer NavLinks gibt es noch
CardSurface, ButtonRow, Sheet — könnten dort genutzt werden, wo
nutriphi heute eigene Implementations hat.
- DarkMode-Testen —
.dark-Class-Mechanik aus Mana-Theming
aktiviert, aber UI-Test über alle Surfaces fehlt.