'Heute'-Button im Tagesplan springt nicht, weil auf veralteten State gelesen wird #10

Closed
opened 2026-09-09 20:12:44 +00:00 by Aceless · 1 comment
Owner
onPressed: () async {
  await mealPlanNotifier.goToCurrentWeek();
  final weekDays = mealPlanState.weekDays;   // State von VOR dem await
  final todayIndex = weekDays.indexWhere(...);
  if (todayIndex >= 0) { _pageController.animateToPage(...); }
}

mealPlanState wurde im build gelesen und ist nach dem await veraltet. Steht man z.B. drei Wochen in der Zukunft, enthaelt weekDays noch die alten Tage, indexWhere liefert -1 und der Sprung auf heute passiert schlicht nicht - ohne jede Rueckmeldung.

Die Methoden _navigateToNextWeek / _navigateToPreviousWeek machen es direkt darunter richtig (ref.read(mealPlanProvider).weekDays nach dem await).

Vorschlag: Nach dem await ebenfalls ref.read(mealPlanProvider) verwenden.

Datei: app/lib/screens/daily_plan_screen.dart:149-170

```dart onPressed: () async { await mealPlanNotifier.goToCurrentWeek(); final weekDays = mealPlanState.weekDays; // State von VOR dem await final todayIndex = weekDays.indexWhere(...); if (todayIndex >= 0) { _pageController.animateToPage(...); } } ``` `mealPlanState` wurde im `build` gelesen und ist nach dem `await` veraltet. Steht man z.B. drei Wochen in der Zukunft, enthaelt `weekDays` noch die alten Tage, `indexWhere` liefert `-1` und der Sprung auf heute passiert schlicht nicht - ohne jede Rueckmeldung. Die Methoden `_navigateToNextWeek` / `_navigateToPreviousWeek` machen es direkt darunter richtig (`ref.read(mealPlanProvider).weekDays` nach dem await). **Vorschlag:** Nach dem `await` ebenfalls `ref.read(mealPlanProvider)` verwenden. Datei: `app/lib/screens/daily_plan_screen.dart:149-170`
Author
Owner

Behoben auf Branch frontend-improvements.

_goToToday liest den State nach dem await frisch ueber ref.read.

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`. _goToToday liest den State nach dem await frisch ueber ref.read. <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#10
No description provided.