Implemented settings, new scan, enhanced UI/UX

This commit is contained in:
Dennis Nemec
2025-11-04 16:52:39 +01:00
parent b19a6e1cd4
commit 7ea9108f62
79 changed files with 3306 additions and 566 deletions

View File

@ -8,6 +8,9 @@ import 'package:hl_lieferservice/feature/delivery/detail/bloc/delivery_event.dar
import 'package:hl_lieferservice/feature/delivery/detail/bloc/delivery_state.dart';
import 'package:hl_lieferservice/feature/delivery/detail/presentation/delivery_sign.dart';
import 'package:hl_lieferservice/feature/delivery/detail/presentation/steps/step.dart';
import 'package:hl_lieferservice/feature/delivery/overview/bloc/tour_bloc.dart';
import 'package:hl_lieferservice/feature/delivery/overview/bloc/tour_event.dart';
import 'package:hl_lieferservice/feature/delivery/overview/bloc/tour_state.dart';
import 'package:hl_lieferservice/model/delivery.dart' as model;
class DeliveryDetail extends StatefulWidget {
@ -126,7 +129,14 @@ class _DeliveryDetailState extends State<DeliveryDetail> {
}
void _onSign(Uint8List customer, Uint8List driver) async {
final currentState = context.read<DeliveryBloc>().state as DeliveryLoaded;
context.read<DeliveryBloc>().add(
FinishDeliveryEvent(
delivery: currentState.delivery,
customerSignature: customer,
driverSignature: driver,
),
);
}
Widget _stepsNavigation() {
@ -143,7 +153,10 @@ class _DeliveryDetailState extends State<DeliveryDetail> {
Padding(
padding: const EdgeInsets.only(left: 20),
child: FilledButton(
onPressed: _step == _steps.length - 1 ? _openSignatureView : _clickForward,
onPressed:
_step == _steps.length - 1
? _openSignatureView
: _clickForward,
child:
_step == _steps.length - 1
? const Text("Unterschreiben")
@ -159,7 +172,24 @@ class _DeliveryDetailState extends State<DeliveryDetail> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("Auslieferungsdetails")),
body: BlocBuilder<DeliveryBloc, DeliveryState>(
body: BlocConsumer<DeliveryBloc, DeliveryState>(
listener: (context, state) {
if (state is DeliveryFinished) {
final tourState = context.read<TourBloc>().state as TourLoaded;
final newTour = tourState.tour.copyWith(deliveries: tourState.tour.deliveries.map((delivery) {
if (delivery.id == state.delivery.id) {
return state.delivery;
}
return delivery;
}).toList());
context.read<TourBloc>().add(UpdateTour(tour: newTour));
Navigator.pop(context);
Navigator.pop(context);
}
},
builder: (context, state) {
final currentState = state;