fix(tours): Reload/Neustart behaelt gewaehltes Datum (kein Sprung auf heute)
Der Header-Kalender zeigte nach Neustart/Retry noch 'morgen', geladen wurde aber 'heute' (leer). Ursache: Initial-Load und diverse Retry-Buttons dispatchten LoadTour() ohne Datum -> immer heute. - LoadTour(): reiner Reload, behaelt das gemerkte Datum - LoadTour.forDate(date): setzt gezielt ein Datum (Kalender + Initial-Load) - Initial-Load in home.dart liest das Datum aus dem TourDateCubit - Retry-Buttons (Fail-/Sort-/Loading-Seite) laden dadurch den angezeigten Tag Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -7,16 +7,28 @@ sealed class TourEvent {
|
||||
const TourEvent();
|
||||
}
|
||||
|
||||
/// Initial-Load bzw. Laden der Tour des angemeldeten Fahrers für ein
|
||||
/// bestimmtes Datum. Account-Filter sitzt im JWT.
|
||||
/// Lädt die Tour des angemeldeten Fahrers. Account-Filter sitzt im JWT.
|
||||
///
|
||||
/// [date] `null` = „heute" (Server entscheidet). Wählt der Fahrer im
|
||||
/// Kopf-Kalender ein Datum, wird es hier übergeben und der Bloc merkt es
|
||||
/// sich für nachfolgende [RefreshTour]-Events.
|
||||
/// Zwei Spielarten:
|
||||
/// * [LoadTour] (ohne Datum): **Reload/Retry** — lädt den aktuell im Bloc
|
||||
/// gemerkten Tag erneut und ändert die Datumswahl NICHT. Für Retry-Buttons
|
||||
/// und Fehler-Seiten, die sonst versehentlich auf „heute" zurückspringen.
|
||||
/// * [LoadTour.forDate]: setzt gezielt ein Datum (`null` = heute) und merkt
|
||||
/// es sich als aktuelles Datum für nachfolgende Reloads/Refreshes. Für den
|
||||
/// Kopf-Kalender und den Initial-Load (aus dem [TourDateCubit]).
|
||||
class LoadTour extends TourEvent {
|
||||
const LoadTour({this.date});
|
||||
const LoadTour()
|
||||
: date = null,
|
||||
hasDate = false;
|
||||
|
||||
const LoadTour.forDate(this.date) : hasDate = true;
|
||||
|
||||
/// Ziel-Datum, nur relevant wenn [hasDate] `true` ist. `null` = heute.
|
||||
final DateTime? date;
|
||||
|
||||
/// `true` = [date] wurde bewusst gesetzt; `false` = „aktuelles Datum
|
||||
/// behalten" (reiner Reload).
|
||||
final bool hasDate;
|
||||
}
|
||||
|
||||
/// Pull-to-refresh / manueller Reload aus der Übersicht. Vorhandener
|
||||
|
||||
Reference in New Issue
Block a user