import 'package:flutter_bloc/flutter_bloc.dart'; /// Hält das im Kopf-Kalender aktiv gewählte Tour-Datum. /// /// State `null` bedeutet **„heute"** — und zwar autoritativ vom Server /// entschieden (die App-Uhr ist nicht vertrauenswürdig; siehe Backend /// `ListMyToursTodayUseCase`). Erst wenn der Fahrer im Header bewusst ein /// Datum wählt, trägt der Cubit ein konkretes Datum. /// /// Bewusst getrennt vom `TourBloc`: das gewählte Datum muss auch dann bekannt /// sein, wenn für den Tag gar keine Tour existiert (`TourEmpty` trägt kein /// `tour.date`), damit der Header trotzdem das richtige Datum anzeigt. class TourDateCubit extends Cubit { TourDateCubit() : super(null); /// Wählt ein konkretes Datum. Nur die Tageskomponente zählt — Uhrzeit wird /// verworfen, damit Vergleiche/Anzeige stabil bleiben. void pick(DateTime date) => emit(DateTime(date.year, date.month, date.day)); /// Zurück auf „heute" (Server-Default). void reset() => emit(null); }