feat(header): Datumswahl im Kopf statt Fahrzeug-Pille
Neue Kalender-Pille im Phase-Stepper: zeigt das Tour-Datum und oeffnet einen
Datepicker, um die Tour eines anderen Tages zu laden (z. B. morgen vorab).
Fahrzeugwechsel bleibt ueber den Drawer erreichbar.
- TourDateCubit haelt das gewaehlte Datum (null = heute, Server autoritativ)
- LoadTour({date}) + TourBloc merkt das Datum (RefreshTour laedt denselben Tag)
- Repository getMyTourDetails({date}) -> API listMyTours(date:) -> GET /me/tours?date=
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -17,22 +17,26 @@ import 'package:hl_lieferservice/domain/entity/tour_details.dart';
|
||||
/// Account-Filter sitzt serverseitig im JWT — der Client schickt nie eine
|
||||
/// `personalnummer`/`accountId` mit.
|
||||
abstract interface class TourRepository {
|
||||
/// Die heutige Tour-Übersicht des angemeldeten Fahrers oder `null`,
|
||||
/// wenn keine Tour für heute angelegt ist (ERP-Sync noch nicht
|
||||
/// gelaufen, Treiber-Urlaub etc.).
|
||||
/// Die Tour-Übersicht des angemeldeten Fahrers für [date] (oder „heute",
|
||||
/// wenn `null`) — bzw. `null`, wenn für den Tag keine Tour angelegt ist
|
||||
/// (ERP-Sync noch nicht gelaufen, Fahrer-Urlaub etc.).
|
||||
///
|
||||
/// Ohne [date] entscheidet der Server über „heute" (autoritativ). Ist
|
||||
/// [date] gesetzt (Fahrer wählt es im Kopf-Kalender), wird dieses Datum
|
||||
/// angefragt.
|
||||
///
|
||||
/// Liefert nur die schlanke `TourSummary`-Repräsentation;
|
||||
/// [getTourDetails] zieht dann den vollen Aggregat-Snapshot.
|
||||
Future<TourSummary?> getMyTourSummaryOfToday();
|
||||
Future<TourSummary?> getMyTourSummary({DateTime? date});
|
||||
|
||||
/// Lädt das volle Tour-Aggregat (Tour + Lieferungen + Items +
|
||||
/// Stammdaten + Notizen) für die gegebene Tour-Id.
|
||||
Future<TourDetails> getTourDetails(String tourId);
|
||||
|
||||
/// Convenience: kombiniert [getMyTourSummaryOfToday] + [getTourDetails]
|
||||
/// und gibt `null` zurück, wenn keine Tour existiert. Verwendet die App
|
||||
/// beim Initial-Load.
|
||||
Future<TourDetails?> getMyTourDetailsOfToday();
|
||||
/// Convenience: kombiniert [getMyTourSummary] + [getTourDetails] und gibt
|
||||
/// `null` zurück, wenn für [date] (Default „heute") keine Tour existiert.
|
||||
/// Verwendet die App beim Initial-Load und beim Datumswechsel.
|
||||
Future<TourDetails?> getMyTourDetails({DateTime? date});
|
||||
|
||||
/// Schreibt die Sortier-Reihenfolge der Lieferungen einer Tour neu.
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user