diff --git a/lib/feature/delivery/overview/presentation/delivery_overview.dart b/lib/feature/delivery/overview/presentation/delivery_overview.dart index e5feca2..fec4833 100644 --- a/lib/feature/delivery/overview/presentation/delivery_overview.dart +++ b/lib/feature/delivery/overview/presentation/delivery_overview.dart @@ -8,6 +8,8 @@ import 'package:hl_lieferservice/domain/entity/tour_details.dart'; import 'package:hl_lieferservice/domain/entity/warehouse.dart'; import 'package:hl_lieferservice/feature/car_selection/bloc/bloc.dart'; import 'package:hl_lieferservice/feature/car_selection/bloc/state.dart'; +import 'package:hl_lieferservice/feature/cars/bloc/cars_bloc.dart'; +import 'package:hl_lieferservice/feature/cars/bloc/cars_state.dart'; import 'package:hl_lieferservice/feature/delivery/detail/presentation/delivery_detail_page.dart'; import 'package:hl_lieferservice/feature/delivery/overview/presentation/delivery_info.dart'; import 'package:hl_lieferservice/feature/delivery/pickup/presentation/filiale_pickup_scan_page.dart'; @@ -110,15 +112,23 @@ class _DeliveryOverviewBody extends StatelessWidget { /// Sortiert nach `sortOrder` aufsteigend, weil das die vom Fahrer im /// Sortieren-Schritt festgelegte Reihenfolge ist und identisch zur /// Auslieferungs-Reihenfolge. - List _ownDeliveriesInDeliveryOrder() { + /// + /// Filter identisch zur Beladen-Übersicht: nur **Multi-Car-Teams** filtern + /// nach `assignedCarId` (jeder Fahrer sieht sein Fahrzeug); im **Single-Car**- + /// Fall gehören ohnehin alle Lieferungen zum einzigen Auto — sonst würde eine + /// neu importierte, noch nicht zugeordnete Lieferung (assignedCarId == null) + /// zwar in Beladen, aber nicht in der Auslieferung erscheinen. + List _ownDeliveriesInDeliveryOrder(bool multiCarTeam) { final all = details.deliveriesSorted; - if (selectedCarId == null) return all; + if (!multiCarTeam || selectedCarId == null) return all; return all.where((d) => d.assignedCarId == selectedCarId).toList(); } @override Widget build(BuildContext context) { - final deliveries = _ownDeliveriesInDeliveryOrder(); + final carsState = context.watch().state; + final multiCarTeam = carsState is CarsLoaded && carsState.cars.length >= 2; + final deliveries = _ownDeliveriesInDeliveryOrder(multiCarTeam); // Untere System-Navigationsleiste (Home/Zurück/Recent) freihalten, damit // das letzte Listenelement nicht dahinter rutscht. Es gibt in dieser // Phase keinen Bottom-Bar, der den Inset abdecken würde.