[Feature] Dark Mode Switch mit Catppuccin-Mocha-Theme #521
Labels
No labels
app/archiv
app/einkaufslisten
app/imap-client
app/wissensbasis
arch-answered
arch-question
area/api
area/auth
area/infra
area/mobile
area/shared
area/ui
area/web
portfolio-status
prio/high
prio/low
prio/medium
roadmap/public
size/l
size/m
size/s
size/xl
size/xs
status/blocked
status/needs-info
type/bug
type/chore
type/docs
type/feature
type/idea
type/refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
admin-mrrm/mrrmlabapp#521
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ziel
Umschaltbares Light/Dark-Theme im Profil-Menü (Web + Mobile), Dark-Variante an Catppuccin Mocha angelehnt.
Umsetzung
packages/ui/src/theme/theme-context.tsx:ThemeModeProvider+useThemeMode(), persistiert über injiziertenThemeStorage-Adapter (In-Memory-Default, App liefert echten Adapter)packages/ui/src/theme/theme-switch.tsx:ThemeSwitch-Komponente (TamaguiSwitch), in beiden ProfileMenüs eingehängtpackages/ui/src/tamagui.config.ts:dark-Theme komplett über@tamagui/theme-builderaus einer Catppuccin-Mocha-Palette neu generiert (inkl. aller Component-Sub-Themes wiedark_Switch,dark_Button, und Akzentfarbendark_red/dark_green/dark_yellow/dark_orange/dark_purple/dark_pink) — automatischer Kontrast für neue Components, ohne Farben pro Control von Hand zu setzenpackages/ui/src/provider.tsx:UiProvidersetzt das Theme reaktiv direkt überTamaguiProviders eigenesdefaultTheme-Prop (nicht über eine separat verschachtelte<Theme>-Komponente), weil Popover/Sheet/Dialog/Toast über@tamagui/portalrendern und eine verschachtelte<Theme>diesen Portal-Host nicht erreichtapps/mobile/app/_layout.tsx: React-Navigation-Header (Stack + Drawer) folgt demselbenmode-State — eigenes Theming-System, unabhängig von Tamagui, Farben manuell synchron gehaltenmrrmlab_light/mrrmlab_dark→light/dark, weil@tamagui/theme-builders Namenskonvention für Sub-Themes das erste Namenssegmentlight/darkbrauchtTest
Kein neuer Test ergänzt — reine Presentational-/Konfigurationsänderung (Farbwerte, Provider-Verschachtelung), abgesichert durch Typecheck. Manuell auf echtem Gerät (Mobile) und im Browser (Web) verifiziert: Umschalten funktioniert, Header + Popover + Switch + Buttons zeigen korrekten Kontrast in beiden Modi.