Kein Dark Mode, hartkodierte Farben statt ColorScheme #21

Closed
opened 2026-09-09 20:12:47 +00:00 by Aceless · 1 comment
Owner

AppTheme definiert nur lightTheme, MaterialApp.router setzt weder darkTheme noch themeMode. Auf Geraeten im Dunkelmodus bleibt die App hell.

Unabhaengig davon wird das ColorScheme an vielen Stellen umgangen:

  • Colors.grey / Colors.grey[400..600] / Colors.grey.shade200/300 - recipes_screen.dart:272-285, daily_plan_screen.dart:348,356,374, meal_plan_day_card.dart:191,200,207, recipe_edit_screen.dart:807,818,823, labeled_text_field.dart:59, unlabeled_text_field.dart:55
  • Colors.red fuer Loeschen-Aktionen - 6 Stellen
  • Colors.indigo als Abendessen-Farbe - meal_plan_day_card.dart:172
  • Colors.blue / Colors.green im Bildquellen-Dialog - recipe_edit_screen.dart:948,969
  • TextStyle(color: Colors.white) auf dem Speichern-Button - recipe_edit_screen.dart:196

Ausserdem sind AppTheme.backgroundColor und AppTheme.onBackground definiert, aber ungenutzt - background/onBackground sind in Material 3 entfallen.

Ein Token-Fehler faellt separat auf: _SpaceCard verwendet colors.onPrimary als Textfarbe auf einem Verlauf aus primaryContainer und secondaryContainer (space_selection_screen.dart:290-310). Richtig waere onPrimaryContainer; auf dem cyanfarbenen secondaryContainer ist Weiss zudem kontrastschwach.

Vorschlag: Semantische Tokens ergaenzen (error fuer Loeschen, outlineVariant fuer Rahmen, ein ThemeExtension fuer die drei Mahlzeitenfarben), ein darkTheme ueber ColorScheme.fromSeed(..., brightness: Brightness.dark) bauen und die harten Farben ersetzen.

`AppTheme` definiert nur `lightTheme`, `MaterialApp.router` setzt weder `darkTheme` noch `themeMode`. Auf Geraeten im Dunkelmodus bleibt die App hell. Unabhaengig davon wird das ColorScheme an vielen Stellen umgangen: - `Colors.grey` / `Colors.grey[400..600]` / `Colors.grey.shade200/300` - `recipes_screen.dart:272-285`, `daily_plan_screen.dart:348,356,374`, `meal_plan_day_card.dart:191,200,207`, `recipe_edit_screen.dart:807,818,823`, `labeled_text_field.dart:59`, `unlabeled_text_field.dart:55` - `Colors.red` fuer Loeschen-Aktionen - 6 Stellen - `Colors.indigo` als Abendessen-Farbe - `meal_plan_day_card.dart:172` - `Colors.blue` / `Colors.green` im Bildquellen-Dialog - `recipe_edit_screen.dart:948,969` - `TextStyle(color: Colors.white)` auf dem Speichern-Button - `recipe_edit_screen.dart:196` Ausserdem sind `AppTheme.backgroundColor` und `AppTheme.onBackground` definiert, aber ungenutzt - `background`/`onBackground` sind in Material 3 entfallen. Ein Token-Fehler faellt separat auf: `_SpaceCard` verwendet `colors.onPrimary` als Textfarbe auf einem Verlauf aus `primaryContainer` und `secondaryContainer` (`space_selection_screen.dart:290-310`). Richtig waere `onPrimaryContainer`; auf dem cyanfarbenen `secondaryContainer` ist Weiss zudem kontrastschwach. **Vorschlag:** Semantische Tokens ergaenzen (`error` fuer Loeschen, `outlineVariant` fuer Rahmen, ein `ThemeExtension` fuer die drei Mahlzeitenfarben), ein `darkTheme` ueber `ColorScheme.fromSeed(..., brightness: Brightness.dark)` bauen und die harten Farben ersetzen.
Author
Owner

Behoben auf Branch frontend-improvements.

darkTheme ueber ColorScheme.fromSeed ergaenzt; MealColors und DifficultyColors als ThemeExtension. Colors.grey/red/blue/green/orange/indigo sind aus lib/ verschwunden.

Commits
  • 47edeeb Added Claude
  • 9b16a6e Einstellungen mit Ladebalken, url_launcher-Plugin-Registrierung
  • 8ad68a4 Settings erreichbar, Secrets sichern, Theme-Tokens, toter Code weg, Tests
  • bf204d3 Rezeptliste, Detail, Vorschlaege und Spaces ueberarbeiten
  • d85c681 Rezept-Editor: Absturz, stiller Datenverlust und Controller-Leaks beheben
  • d970fbe Provider-State korrigieren, Fehler sichtbar machen, Wochenlogik zentralisieren
  • 71e557d Start entkoppeln, API-Client haerten, Theme auf Tokens umstellen

flutter analyze: 0 Issues. flutter test: 22 Tests gruen.

Behoben auf Branch `frontend-improvements`. darkTheme ueber ColorScheme.fromSeed ergaenzt; MealColors und DifficultyColors als ThemeExtension. Colors.grey/red/blue/green/orange/indigo sind aus lib/ verschwunden. <details><summary>Commits</summary> - 47edeeb Added Claude - 9b16a6e Einstellungen mit Ladebalken, url_launcher-Plugin-Registrierung - 8ad68a4 Settings erreichbar, Secrets sichern, Theme-Tokens, toter Code weg, Tests - bf204d3 Rezeptliste, Detail, Vorschlaege und Spaces ueberarbeiten - d85c681 Rezept-Editor: Absturz, stiller Datenverlust und Controller-Leaks beheben - d970fbe Provider-State korrigieren, Fehler sichtbar machen, Wochenlogik zentralisieren - 71e557d Start entkoppeln, API-Client haerten, Theme auf Tokens umstellen </details> `flutter analyze`: 0 Issues. `flutter test`: 22 Tests gruen.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Aceless/RecipePlanner#21
No description provided.