From da0f77e35d5af08916eb032be927ee00503bf568 Mon Sep 17 00:00:00 2001 From: Dennis Nemec Date: Fri, 9 Jan 2026 13:02:15 +0100 Subject: [PATCH] Added separate car loaded event --- .../presentation/car_management_page.dart | 9 +---- lib/feature/delivery/bloc/tour_bloc.dart | 9 +++++ lib/feature/delivery/bloc/tour_event.dart | 40 +++++++++++++++---- 3 files changed, 43 insertions(+), 15 deletions(-) diff --git a/lib/feature/cars/presentation/car_management_page.dart b/lib/feature/cars/presentation/car_management_page.dart index 9c98208..b4f6c03 100644 --- a/lib/feature/cars/presentation/car_management_page.dart +++ b/lib/feature/cars/presentation/car_management_page.dart @@ -58,17 +58,10 @@ class _CarManagementPageState extends State { listener: (context, state) { if (state is CarsLoaded && context.read().state is TourLoaded) { - var tour = - (context.read().state as TourLoaded).tour.copyWith(); - tour.driver.cars = state.cars; - context.read().add( - TourUpdated(tour: tour, payments: tour.paymentMethods), - ); + context.read().add(CarsLoadedEvent(cars: state.cars)); } }, builder: (context, state) { - debugPrint('BlocBuilder rebuilding with state: $state'); - if (state is CarsLoading) { return Center(child: const CircularProgressIndicator()); } diff --git a/lib/feature/delivery/bloc/tour_bloc.dart b/lib/feature/delivery/bloc/tour_bloc.dart index e1bd09d..b4438c4 100644 --- a/lib/feature/delivery/bloc/tour_bloc.dart +++ b/lib/feature/delivery/bloc/tour_bloc.dart @@ -54,6 +54,7 @@ class TourBloc extends Bloc { on(_calculateDistances); on(_requestSortingInformation); on(_reorderDelivery); + on(_carsLoaded); } @override @@ -63,6 +64,14 @@ class TourBloc extends Bloc { return super.close(); } + void _carsLoaded(CarsLoadedEvent event, Emitter emit) { + final currentState = state; + if (currentState is TourLoaded) { + currentState.tour.driver.cars = event.cars; + emit(currentState.copyWith()); + } + } + void _reorderDelivery( ReorderDeliveryEvent event, Emitter emit, diff --git a/lib/feature/delivery/bloc/tour_event.dart b/lib/feature/delivery/bloc/tour_event.dart index 3cdb072..e008ff2 100644 --- a/lib/feature/delivery/bloc/tour_event.dart +++ b/lib/feature/delivery/bloc/tour_event.dart @@ -1,5 +1,6 @@ import 'dart:typed_data'; +import 'package:hl_lieferservice/model/car.dart'; import 'package:hl_lieferservice/model/tour.dart'; import '../../../../model/delivery.dart'; @@ -24,7 +25,11 @@ class RequestSortingInformationEvent extends TourEvent { List payments; Map? distances; - RequestSortingInformationEvent({required this.tour, required this.payments, this.distances}); + RequestSortingInformationEvent({ + required this.tour, + required this.payments, + this.distances, + }); } class ReorderDeliveryEvent extends TourEvent { @@ -65,11 +70,19 @@ class IncrementArticleScanAmount extends TourEvent { String deliveryId; String carId; - IncrementArticleScanAmount({required this.internalArticleId, required this.deliveryId, required this.carId}); + IncrementArticleScanAmount({ + required this.internalArticleId, + required this.deliveryId, + required this.carId, + }); } class ScanArticleEvent extends TourEvent { - ScanArticleEvent({required this.articleNumber, required this.carId, required this.deliveryId}); + ScanArticleEvent({ + required this.articleNumber, + required this.carId, + required this.deliveryId, + }); String articleNumber; String deliveryId; @@ -105,7 +118,7 @@ class UnscanArticleEvent extends TourEvent { required this.articleId, required this.newAmount, required this.reason, - required this.deliveryId + required this.deliveryId, }); String articleId; @@ -151,8 +164,18 @@ class UpdateDiscountEvent extends TourEvent { int? value; } +class CarsLoadedEvent extends TourEvent { + List cars; + + CarsLoadedEvent({required this.cars}); +} + class UpdateDeliveryOptionEvent extends TourEvent { - UpdateDeliveryOptionEvent({required this.key, required this.value, required this.deliveryId}); + UpdateDeliveryOptionEvent({ + required this.key, + required this.value, + required this.deliveryId, + }); String deliveryId; String key; @@ -160,7 +183,10 @@ class UpdateDeliveryOptionEvent extends TourEvent { } class UpdateSelectedPaymentMethodEvent extends TourEvent { - UpdateSelectedPaymentMethodEvent({required this.payment, required this.deliveryId}); + UpdateSelectedPaymentMethodEvent({ + required this.payment, + required this.deliveryId, + }); Payment payment; String deliveryId; @@ -176,4 +202,4 @@ class FinishDeliveryEvent extends TourEvent { String deliveryId; Uint8List customerSignature; Uint8List driverSignature; -} \ No newline at end of file +}