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:
@ -80,7 +80,9 @@ class TourBloc extends Bloc<TourEvent, TourState> {
|
||||
// ─── LoadTour ────────────────────────────────────────────────────────
|
||||
|
||||
Future<void> _onLoad(LoadTour event, Emitter<TourState> emit) async {
|
||||
_selectedDate = event.date;
|
||||
// Nur bei explizit gesetztem Datum die Wahl aktualisieren; ein reiner
|
||||
// Reload (LoadTour()) behält den aktuell angezeigten Tag.
|
||||
if (event.hasDate) _selectedDate = event.date;
|
||||
emit(const TourLoading());
|
||||
try {
|
||||
final details = await tourRepository.getMyTourDetails(date: _selectedDate);
|
||||
@ -103,9 +105,9 @@ class TourBloc extends Bloc<TourEvent, TourState> {
|
||||
Future<void> _onRefresh(RefreshTour event, Emitter<TourState> emit) async {
|
||||
final current = state;
|
||||
if (current is! TourLoaded) {
|
||||
// Keine sichtbare Tour zum „weichen" Refreshen — wie ein LoadTour
|
||||
// behandeln. Das aktuell gewählte Datum beibehalten.
|
||||
await _onLoad(LoadTour(date: _selectedDate), emit);
|
||||
// Keine sichtbare Tour zum „weichen" Refreshen — wie ein Reload
|
||||
// behandeln. `const LoadTour()` behält das aktuell gewählte Datum.
|
||||
await _onLoad(const LoadTour(), emit);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user