From 99247b4b6778a53932e215750506231259c73f31 Mon Sep 17 00:00:00 2001 From: Dennis Nemec Date: Fri, 25 Sep 2026 15:31:09 +0200 Subject: [PATCH] =?UTF-8?q?fix(pickup):=20nach=20vollst=C3=A4ndiger=20Fili?= =?UTF-8?q?al-Abholung=20direkt=20die=20Lieferung=20=C3=B6ffnen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Fertig-Button der Filial-Abholung ersetzt die Scan-Page jetzt durch DeliveryDetail (pushReplacement) statt zur Übersicht zurückzukehren. Zurück aus der Lieferung führt weiterhin zur Übersicht. Co-Authored-By: Claude Opus 5.5 --- .../presentation/delivery_overview.dart | 5 +++-- .../filiale_pickup_scan_page.dart | 22 ++++++++++++++----- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/lib/feature/delivery/overview/presentation/delivery_overview.dart b/lib/feature/delivery/overview/presentation/delivery_overview.dart index 14b2126..c60e197 100644 --- a/lib/feature/delivery/overview/presentation/delivery_overview.dart +++ b/lib/feature/delivery/overview/presentation/delivery_overview.dart @@ -18,8 +18,9 @@ import 'package:hl_lieferservice/feature/delivery/pickup/presentation/filiale_pi /// /// * Aktive Lieferung mit noch offenen Filial-Artikeln → zuerst der /// Filial-Abhol-Scan-Screen. Der Fahrer ist an der Filiale und muss die -/// Ware abscannen, bevor er ausliefern kann. Nach dem Scan kehrt er zur -/// Übersicht zurück (die Lieferung verliert ihren Filial-Hinweis). +/// Ware abscannen, bevor er ausliefern kann. Nach dem Scan geht es von +/// dort direkt in die Auslieferung (die Lieferung verliert ihren +/// Filial-Hinweis). /// * Sonst → direkt die Auslieferung (`DeliveryDetail`), die beim Kunden /// bearbeitet wird. /// diff --git a/lib/feature/delivery/pickup/presentation/filiale_pickup_scan_page.dart b/lib/feature/delivery/pickup/presentation/filiale_pickup_scan_page.dart index df2de07..b1308ae 100644 --- a/lib/feature/delivery/pickup/presentation/filiale_pickup_scan_page.dart +++ b/lib/feature/delivery/pickup/presentation/filiale_pickup_scan_page.dart @@ -9,6 +9,7 @@ import 'package:hl_lieferservice/feature/car_selection/bloc/state.dart'; import 'package:hl_lieferservice/feature/delivery/bloc/tour_bloc.dart'; import 'package:hl_lieferservice/feature/delivery/bloc/tour_event.dart'; import 'package:hl_lieferservice/feature/delivery/bloc/tour_state.dart'; +import 'package:hl_lieferservice/feature/delivery/detail/presentation/delivery_detail_page.dart'; import 'package:hl_lieferservice/widget/scanner/article_scanner_stripe.dart'; import 'package:hl_lieferservice/widget/scanner/item_matcher.dart'; import 'package:hl_lieferservice/widget/scanner/manual_entry_dialog.dart'; @@ -26,9 +27,10 @@ import 'package:hl_lieferservice/widget/scanner/scan_code_parser.dart'; /// QR-Validierung (`Artikelnr;Kundennr;Belegnr`) und derselbe `ScanItem`- /// Pfad wie die Beladen-Phase — über die geteilten Scanner-Module. /// -/// Nach vollständigem Scan: Erfolgs-Zustand + Button „zurück zur Übersicht". -/// Der Fahrer fährt dann zum Kunden; dort öffnet ein erneuter Tap die -/// eigentliche Auslieferung (`DeliveryDetail`). +/// Nach vollständigem Scan: Erfolgs-Zustand + Button „Weiter zur Lieferung", +/// der diese Page durch die eigentliche Auslieferung (`DeliveryDetail`) +/// ersetzt. „Zurück" führt von dort direkt zur Übersicht, nicht erneut +/// hierher. class FilialePickupScanPage extends StatefulWidget { const FilialePickupScanPage({super.key, required this.deliveryId}); @@ -160,6 +162,14 @@ class _FilialePickupScanPageState extends State { )); } + void _openDelivery() { + Navigator.of(context).pushReplacement( + MaterialPageRoute( + builder: (_) => DeliveryDetail(deliveryId: widget.deliveryId), + ), + ); + } + @override Widget build(BuildContext context) { return BlocBuilder( @@ -232,7 +242,7 @@ class _FilialePickupScanPageState extends State { ], ), ), - if (allDone) _DoneBar(onConfirm: () => Navigator.of(context).pop()), + if (allDone) _DoneBar(onConfirm: _openDelivery), ], ), ); @@ -445,8 +455,8 @@ class _DoneBar extends StatelessWidget { width: double.infinity, child: FilledButton.icon( onPressed: onConfirm, - icon: const Icon(Icons.arrow_back), - label: const Text('Fertig — zurück zur Übersicht'), + icon: const Icon(Icons.arrow_forward), + label: const Text('Weiter zur Lieferung'), ), ), ],