Implemented settings, new scan, enhanced UI/UX
This commit is contained in:
@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user