diff --git a/assets/images/gojek.png b/assets/images/gojek.png new file mode 100644 index 0000000..75548ee Binary files /dev/null and b/assets/images/gojek.png differ diff --git a/assets/images/grab.png b/assets/images/grab.png new file mode 100644 index 0000000..09ffcbd Binary files /dev/null and b/assets/images/grab.png differ diff --git a/lib/core/assets/assets.gen.dart b/lib/core/assets/assets.gen.dart index 8e0cd59..59248fd 100644 --- a/lib/core/assets/assets.gen.dart +++ b/lib/core/assets/assets.gen.dart @@ -186,6 +186,12 @@ class $AssetsImagesGen { /// File path: assets/images/drink7.png AssetGenImage get drink7 => const AssetGenImage('assets/images/drink7.png'); + /// File path: assets/images/gojek.png + AssetGenImage get gojek => const AssetGenImage('assets/images/gojek.png'); + + /// File path: assets/images/grab.png + AssetGenImage get grab => const AssetGenImage('assets/images/grab.png'); + /// File path: assets/images/logo.png AssetGenImage get logo => const AssetGenImage('assets/images/logo.png'); @@ -265,6 +271,8 @@ class $AssetsImagesGen { drink5, drink6, drink7, + gojek, + grab, logo, managePrinter, manageProduct, diff --git a/lib/data/datasources/delivery_local_datasource.dart b/lib/data/datasources/delivery_local_datasource.dart new file mode 100644 index 0000000..5119edc --- /dev/null +++ b/lib/data/datasources/delivery_local_datasource.dart @@ -0,0 +1,15 @@ +import 'package:enaklo_pos/core/assets/assets.gen.dart'; +import 'package:enaklo_pos/data/models/response/delivery_response_model.dart'; + +List deliveries = [ + DeliveryModel( + id: 'gojek', + name: 'Gojek', + imageUrl: Assets.images.gojek.path, + ), + DeliveryModel( + id: 'grab', + name: 'Grab', + imageUrl: Assets.images.grab.path, + ), +]; diff --git a/lib/data/models/response/delivery_response_model.dart b/lib/data/models/response/delivery_response_model.dart new file mode 100644 index 0000000..6debc2c --- /dev/null +++ b/lib/data/models/response/delivery_response_model.dart @@ -0,0 +1,11 @@ +class DeliveryModel { + String id; + String name; + String imageUrl; + + DeliveryModel({ + required this.id, + required this.name, + required this.imageUrl, + }); +} diff --git a/lib/presentation/home/bloc/checkout/checkout_bloc.dart b/lib/presentation/home/bloc/checkout/checkout_bloc.dart index 61b0eeb..e08bfd0 100644 --- a/lib/presentation/home/bloc/checkout/checkout_bloc.dart +++ b/lib/presentation/home/bloc/checkout/checkout_bloc.dart @@ -2,6 +2,7 @@ import 'dart:developer'; import 'package:bloc/bloc.dart'; import 'package:enaklo_pos/data/datasources/product_local_datasource.dart'; +import 'package:enaklo_pos/data/models/response/delivery_response_model.dart'; import 'package:enaklo_pos/data/models/response/discount_response_model.dart'; import 'package:enaklo_pos/presentation/table/models/draft_order_item.dart'; import 'package:enaklo_pos/presentation/table/models/draft_order_model.dart'; @@ -58,7 +59,8 @@ class CheckoutBloc extends Bloc { currentState.totalQuantity, currentState.totalPrice, currentState.draftName, - currentState.orderType)); + currentState.orderType, + currentState.deliveryType)); }); on<_RemoveItem>((event, emit) { @@ -91,7 +93,8 @@ class CheckoutBloc extends Bloc { currentState.totalQuantity, currentState.totalPrice, currentState.draftName, - currentState.orderType)); + currentState.orderType, + currentState.deliveryType)); }); on<_DeleteItem>((event, emit) { @@ -116,7 +119,8 @@ class CheckoutBloc extends Bloc { currentState.totalQuantity, currentState.totalPrice, currentState.draftName, - currentState.orderType)); + currentState.orderType, + currentState.deliveryType)); }); on<_Started>((event, emit) async { @@ -126,29 +130,41 @@ class CheckoutBloc extends Bloc { final tax = await settingsLocalDatasource.getTax(); final serviceCharge = await settingsLocalDatasource.getServiceCharge(); - emit(_Loaded([], null, 0, 0, tax.value, serviceCharge, 0, 0, '', - OrderType.dineIn)); + emit(_Loaded( + [], + null, + 0, + 0, + tax.value, + serviceCharge, + 0, + 0, + '', + OrderType.dineIn, + null, + )); } catch (e) { // If loading fails, use default values log('Failed to load settings: $e'); - emit(const _Loaded([], null, 0, 0, 10, 5, 0, 0, '', OrderType.dineIn)); + emit(const _Loaded( + [], null, 0, 0, 10, 5, 0, 0, '', OrderType.dineIn, null)); } }); on<_AddDiscount>((event, emit) { var currentState = state as _Loaded; emit(_Loaded( - currentState.items, - event.discount, - currentState.discount, - currentState.discountAmount, - currentState.tax, - currentState.serviceCharge, - currentState.totalQuantity, - currentState.totalPrice, - currentState.draftName, - currentState.orderType, - )); + currentState.items, + event.discount, + currentState.discount, + currentState.discountAmount, + currentState.tax, + currentState.serviceCharge, + currentState.totalQuantity, + currentState.totalPrice, + currentState.draftName, + currentState.orderType, + currentState.deliveryType)); }); on<_RemoveDiscount>((event, emit) { @@ -163,7 +179,8 @@ class CheckoutBloc extends Bloc { currentState.totalQuantity, currentState.totalPrice, currentState.draftName, - currentState.orderType)); + currentState.orderType, + currentState.deliveryType)); }); on<_AddTax>((event, emit) { @@ -178,7 +195,8 @@ class CheckoutBloc extends Bloc { currentState.totalQuantity, currentState.totalPrice, currentState.draftName, - currentState.orderType)); + currentState.orderType, + currentState.deliveryType)); }); on<_AddServiceCharge>((event, emit) { @@ -194,6 +212,7 @@ class CheckoutBloc extends Bloc { currentState.totalPrice, currentState.draftName, currentState.orderType, + currentState.deliveryType, )); }); @@ -209,7 +228,8 @@ class CheckoutBloc extends Bloc { currentState.totalQuantity, currentState.totalPrice, currentState.draftName, - currentState.orderType)); + currentState.orderType, + currentState.deliveryType)); }); on<_RemoveServiceCharge>((event, emit) { @@ -224,7 +244,8 @@ class CheckoutBloc extends Bloc { currentState.totalQuantity, currentState.totalPrice, currentState.draftName, - currentState.orderType)); + currentState.orderType, + currentState.deliveryType)); }); on<_UpdateOrderType>((event, emit) { @@ -239,7 +260,8 @@ class CheckoutBloc extends Bloc { currentState.totalQuantity, currentState.totalPrice, currentState.draftName, - event.orderType)); + event.orderType, + currentState.deliveryType)); }); on<_UpdateItemNotes>((event, emit) { @@ -260,7 +282,8 @@ class CheckoutBloc extends Bloc { currentState.totalQuantity, currentState.totalPrice, currentState.draftName, - currentState.orderType)); + currentState.orderType, + currentState.deliveryType)); }); on<_SaveDraftOrder>((event, emit) async { @@ -298,19 +321,38 @@ class CheckoutBloc extends Bloc { final draftOrder = event.data; log("draftOrder: ${draftOrder.toMap()}"); emit(_Loaded( - draftOrder.orders - .map((e) => - ProductQuantity(product: e.product, quantity: e.quantity)) - .toList(), - null, - draftOrder.discount, - draftOrder.discountAmount, - draftOrder.tax, - draftOrder.serviceCharge, - draftOrder.totalQuantity, - draftOrder.totalPrice, - draftOrder.draftName, - OrderType.dineIn)); + draftOrder.orders + .map((e) => + ProductQuantity(product: e.product, quantity: e.quantity)) + .toList(), + null, + draftOrder.discount, + draftOrder.discountAmount, + draftOrder.tax, + draftOrder.serviceCharge, + draftOrder.totalQuantity, + draftOrder.totalPrice, + draftOrder.draftName, + OrderType.dineIn, + null, + )); + }); + + on<_UpdateDeliveryType>((event, emit) { + var currentState = state as _Loaded; + emit(_Loaded( + currentState.items, + currentState.discountModel, + currentState.discount, + currentState.discountAmount, + currentState.tax, + currentState.serviceCharge, + currentState.totalQuantity, + currentState.totalPrice, + currentState.draftName, + currentState.orderType, + event.delivery, + )); }); } } diff --git a/lib/presentation/home/bloc/checkout/checkout_bloc.freezed.dart b/lib/presentation/home/bloc/checkout/checkout_bloc.freezed.dart index bcfb5a0..002a0aa 100644 --- a/lib/presentation/home/bloc/checkout/checkout_bloc.freezed.dart +++ b/lib/presentation/home/bloc/checkout/checkout_bloc.freezed.dart @@ -36,6 +36,7 @@ mixin _$CheckoutEvent { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -55,6 +56,7 @@ mixin _$CheckoutEvent { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -74,6 +76,7 @@ mixin _$CheckoutEvent { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -93,6 +96,7 @@ mixin _$CheckoutEvent { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -111,6 +115,7 @@ mixin _$CheckoutEvent { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -129,6 +134,7 @@ mixin _$CheckoutEvent { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -214,6 +220,7 @@ class _$StartedImpl implements _Started { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return started(); } @@ -236,6 +243,7 @@ class _$StartedImpl implements _Started { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return started?.call(); } @@ -258,6 +266,7 @@ class _$StartedImpl implements _Started { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (started != null) { @@ -283,6 +292,7 @@ class _$StartedImpl implements _Started { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return started(this); } @@ -304,6 +314,7 @@ class _$StartedImpl implements _Started { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return started?.call(this); } @@ -325,6 +336,7 @@ class _$StartedImpl implements _Started { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (started != null) { @@ -432,6 +444,7 @@ class _$AddItemImpl implements _AddItem { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return addItem(product, variant); } @@ -454,6 +467,7 @@ class _$AddItemImpl implements _AddItem { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return addItem?.call(product, variant); } @@ -476,6 +490,7 @@ class _$AddItemImpl implements _AddItem { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (addItem != null) { @@ -501,6 +516,7 @@ class _$AddItemImpl implements _AddItem { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return addItem(this); } @@ -522,6 +538,7 @@ class _$AddItemImpl implements _AddItem { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return addItem?.call(this); } @@ -543,6 +560,7 @@ class _$AddItemImpl implements _AddItem { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (addItem != null) { @@ -660,6 +678,7 @@ class _$RemoveItemImpl implements _RemoveItem { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return removeItem(product, variant); } @@ -682,6 +701,7 @@ class _$RemoveItemImpl implements _RemoveItem { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return removeItem?.call(product, variant); } @@ -704,6 +724,7 @@ class _$RemoveItemImpl implements _RemoveItem { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (removeItem != null) { @@ -729,6 +750,7 @@ class _$RemoveItemImpl implements _RemoveItem { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return removeItem(this); } @@ -750,6 +772,7 @@ class _$RemoveItemImpl implements _RemoveItem { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return removeItem?.call(this); } @@ -771,6 +794,7 @@ class _$RemoveItemImpl implements _RemoveItem { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (removeItem != null) { @@ -888,6 +912,7 @@ class _$DeleteItemImpl implements _DeleteItem { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return deleteItem(product, variant); } @@ -910,6 +935,7 @@ class _$DeleteItemImpl implements _DeleteItem { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return deleteItem?.call(product, variant); } @@ -932,6 +958,7 @@ class _$DeleteItemImpl implements _DeleteItem { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (deleteItem != null) { @@ -957,6 +984,7 @@ class _$DeleteItemImpl implements _DeleteItem { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return deleteItem(this); } @@ -978,6 +1006,7 @@ class _$DeleteItemImpl implements _DeleteItem { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return deleteItem?.call(this); } @@ -999,6 +1028,7 @@ class _$DeleteItemImpl implements _DeleteItem { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (deleteItem != null) { @@ -1109,6 +1139,7 @@ class _$AddDiscountImpl implements _AddDiscount { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return addDiscount(discount); } @@ -1131,6 +1162,7 @@ class _$AddDiscountImpl implements _AddDiscount { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return addDiscount?.call(discount); } @@ -1153,6 +1185,7 @@ class _$AddDiscountImpl implements _AddDiscount { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (addDiscount != null) { @@ -1178,6 +1211,7 @@ class _$AddDiscountImpl implements _AddDiscount { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return addDiscount(this); } @@ -1199,6 +1233,7 @@ class _$AddDiscountImpl implements _AddDiscount { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return addDiscount?.call(this); } @@ -1220,6 +1255,7 @@ class _$AddDiscountImpl implements _AddDiscount { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (addDiscount != null) { @@ -1300,6 +1336,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return removeDiscount(); } @@ -1322,6 +1359,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return removeDiscount?.call(); } @@ -1344,6 +1382,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (removeDiscount != null) { @@ -1369,6 +1408,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return removeDiscount(this); } @@ -1390,6 +1430,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return removeDiscount?.call(this); } @@ -1411,6 +1452,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (removeDiscount != null) { @@ -1510,6 +1552,7 @@ class _$AddTaxImpl implements _AddTax { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return addTax(tax); } @@ -1532,6 +1575,7 @@ class _$AddTaxImpl implements _AddTax { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return addTax?.call(tax); } @@ -1554,6 +1598,7 @@ class _$AddTaxImpl implements _AddTax { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (addTax != null) { @@ -1579,6 +1624,7 @@ class _$AddTaxImpl implements _AddTax { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return addTax(this); } @@ -1600,6 +1646,7 @@ class _$AddTaxImpl implements _AddTax { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return addTax?.call(this); } @@ -1621,6 +1668,7 @@ class _$AddTaxImpl implements _AddTax { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (addTax != null) { @@ -1730,6 +1778,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return addServiceCharge(serviceCharge); } @@ -1752,6 +1801,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return addServiceCharge?.call(serviceCharge); } @@ -1774,6 +1824,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (addServiceCharge != null) { @@ -1799,6 +1850,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return addServiceCharge(this); } @@ -1820,6 +1872,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return addServiceCharge?.call(this); } @@ -1841,6 +1894,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (addServiceCharge != null) { @@ -1922,6 +1976,7 @@ class _$RemoveTaxImpl implements _RemoveTax { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return removeTax(); } @@ -1944,6 +1999,7 @@ class _$RemoveTaxImpl implements _RemoveTax { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return removeTax?.call(); } @@ -1966,6 +2022,7 @@ class _$RemoveTaxImpl implements _RemoveTax { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (removeTax != null) { @@ -1991,6 +2048,7 @@ class _$RemoveTaxImpl implements _RemoveTax { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return removeTax(this); } @@ -2012,6 +2070,7 @@ class _$RemoveTaxImpl implements _RemoveTax { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return removeTax?.call(this); } @@ -2033,6 +2092,7 @@ class _$RemoveTaxImpl implements _RemoveTax { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (removeTax != null) { @@ -2106,6 +2166,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return removeServiceCharge(); } @@ -2128,6 +2189,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return removeServiceCharge?.call(); } @@ -2150,6 +2212,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (removeServiceCharge != null) { @@ -2175,6 +2238,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return removeServiceCharge(this); } @@ -2196,6 +2260,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return removeServiceCharge?.call(this); } @@ -2217,6 +2282,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (removeServiceCharge != null) { @@ -2318,6 +2384,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return updateOrderType(orderType); } @@ -2340,6 +2407,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return updateOrderType?.call(orderType); } @@ -2362,6 +2430,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (updateOrderType != null) { @@ -2387,6 +2456,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return updateOrderType(this); } @@ -2408,6 +2478,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return updateOrderType?.call(this); } @@ -2429,6 +2500,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (updateOrderType != null) { @@ -2546,6 +2618,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return updateItemNotes(product, notes); } @@ -2568,6 +2641,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return updateItemNotes?.call(product, notes); } @@ -2590,6 +2664,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (updateItemNotes != null) { @@ -2615,6 +2690,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return updateItemNotes(this); } @@ -2636,6 +2712,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return updateItemNotes?.call(this); } @@ -2657,6 +2734,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (updateItemNotes != null) { @@ -2788,6 +2866,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return saveDraftOrder(tableNumber, draftName, discountAmount); } @@ -2810,6 +2889,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return saveDraftOrder?.call(tableNumber, draftName, discountAmount); } @@ -2832,6 +2912,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (saveDraftOrder != null) { @@ -2857,6 +2938,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return saveDraftOrder(this); } @@ -2878,6 +2960,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return saveDraftOrder?.call(this); } @@ -2899,6 +2982,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (saveDraftOrder != null) { @@ -3010,6 +3094,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { int tableNumber, String draftName, int discountAmount) saveDraftOrder, required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, }) { return loadDraftOrder(data); } @@ -3032,6 +3117,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { TResult? Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, }) { return loadDraftOrder?.call(data); } @@ -3054,6 +3140,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { TResult Function(int tableNumber, String draftName, int discountAmount)? saveDraftOrder, TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, required TResult orElse(), }) { if (loadDraftOrder != null) { @@ -3079,6 +3166,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { required TResult Function(_UpdateItemNotes value) updateItemNotes, required TResult Function(_SaveDraftOrder value) saveDraftOrder, required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, }) { return loadDraftOrder(this); } @@ -3100,6 +3188,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { TResult? Function(_UpdateItemNotes value)? updateItemNotes, TResult? Function(_SaveDraftOrder value)? saveDraftOrder, TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, }) { return loadDraftOrder?.call(this); } @@ -3121,6 +3210,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { TResult Function(_UpdateItemNotes value)? updateItemNotes, TResult Function(_SaveDraftOrder value)? saveDraftOrder, TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, required TResult orElse(), }) { if (loadDraftOrder != null) { @@ -3143,6 +3233,233 @@ abstract class _LoadDraftOrder implements CheckoutEvent { throw _privateConstructorUsedError; } +/// @nodoc +abstract class _$$UpdateDeliveryTypeImplCopyWith<$Res> { + factory _$$UpdateDeliveryTypeImplCopyWith(_$UpdateDeliveryTypeImpl value, + $Res Function(_$UpdateDeliveryTypeImpl) then) = + __$$UpdateDeliveryTypeImplCopyWithImpl<$Res>; + @useResult + $Res call({DeliveryModel delivery}); +} + +/// @nodoc +class __$$UpdateDeliveryTypeImplCopyWithImpl<$Res> + extends _$CheckoutEventCopyWithImpl<$Res, _$UpdateDeliveryTypeImpl> + implements _$$UpdateDeliveryTypeImplCopyWith<$Res> { + __$$UpdateDeliveryTypeImplCopyWithImpl(_$UpdateDeliveryTypeImpl _value, + $Res Function(_$UpdateDeliveryTypeImpl) _then) + : super(_value, _then); + + /// Create a copy of CheckoutEvent + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? delivery = freezed, + }) { + return _then(_$UpdateDeliveryTypeImpl( + freezed == delivery + ? _value.delivery + : delivery // ignore: cast_nullable_to_non_nullable + as DeliveryModel, + )); + } +} + +/// @nodoc + +class _$UpdateDeliveryTypeImpl implements _UpdateDeliveryType { + const _$UpdateDeliveryTypeImpl(this.delivery); + + @override + final DeliveryModel delivery; + + @override + String toString() { + return 'CheckoutEvent.updateDeliveryType(delivery: $delivery)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$UpdateDeliveryTypeImpl && + const DeepCollectionEquality().equals(other.delivery, delivery)); + } + + @override + int get hashCode => + Object.hash(runtimeType, const DeepCollectionEquality().hash(delivery)); + + /// Create a copy of CheckoutEvent + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$UpdateDeliveryTypeImplCopyWith<_$UpdateDeliveryTypeImpl> get copyWith => + __$$UpdateDeliveryTypeImplCopyWithImpl<_$UpdateDeliveryTypeImpl>( + this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() started, + required TResult Function(Product product, ProductVariant? variant) addItem, + required TResult Function(Product product, ProductVariant? variant) + removeItem, + required TResult Function(Product product, ProductVariant? variant) + deleteItem, + required TResult Function(Discount discount) addDiscount, + required TResult Function() removeDiscount, + required TResult Function(int tax) addTax, + required TResult Function(int serviceCharge) addServiceCharge, + required TResult Function() removeTax, + required TResult Function() removeServiceCharge, + required TResult Function(OrderType orderType) updateOrderType, + required TResult Function(Product product, String notes) updateItemNotes, + required TResult Function( + int tableNumber, String draftName, int discountAmount) + saveDraftOrder, + required TResult Function(DraftOrderModel data) loadDraftOrder, + required TResult Function(DeliveryModel delivery) updateDeliveryType, + }) { + return updateDeliveryType(delivery); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? started, + TResult? Function(Product product, ProductVariant? variant)? addItem, + TResult? Function(Product product, ProductVariant? variant)? removeItem, + TResult? Function(Product product, ProductVariant? variant)? deleteItem, + TResult? Function(Discount discount)? addDiscount, + TResult? Function()? removeDiscount, + TResult? Function(int tax)? addTax, + TResult? Function(int serviceCharge)? addServiceCharge, + TResult? Function()? removeTax, + TResult? Function()? removeServiceCharge, + TResult? Function(OrderType orderType)? updateOrderType, + TResult? Function(Product product, String notes)? updateItemNotes, + TResult? Function(int tableNumber, String draftName, int discountAmount)? + saveDraftOrder, + TResult? Function(DraftOrderModel data)? loadDraftOrder, + TResult? Function(DeliveryModel delivery)? updateDeliveryType, + }) { + return updateDeliveryType?.call(delivery); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? started, + TResult Function(Product product, ProductVariant? variant)? addItem, + TResult Function(Product product, ProductVariant? variant)? removeItem, + TResult Function(Product product, ProductVariant? variant)? deleteItem, + TResult Function(Discount discount)? addDiscount, + TResult Function()? removeDiscount, + TResult Function(int tax)? addTax, + TResult Function(int serviceCharge)? addServiceCharge, + TResult Function()? removeTax, + TResult Function()? removeServiceCharge, + TResult Function(OrderType orderType)? updateOrderType, + TResult Function(Product product, String notes)? updateItemNotes, + TResult Function(int tableNumber, String draftName, int discountAmount)? + saveDraftOrder, + TResult Function(DraftOrderModel data)? loadDraftOrder, + TResult Function(DeliveryModel delivery)? updateDeliveryType, + required TResult orElse(), + }) { + if (updateDeliveryType != null) { + return updateDeliveryType(delivery); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Started value) started, + required TResult Function(_AddItem value) addItem, + required TResult Function(_RemoveItem value) removeItem, + required TResult Function(_DeleteItem value) deleteItem, + required TResult Function(_AddDiscount value) addDiscount, + required TResult Function(_RemoveDiscount value) removeDiscount, + required TResult Function(_AddTax value) addTax, + required TResult Function(_AddServiceCharge value) addServiceCharge, + required TResult Function(_RemoveTax value) removeTax, + required TResult Function(_RemoveServiceCharge value) removeServiceCharge, + required TResult Function(_UpdateOrderType value) updateOrderType, + required TResult Function(_UpdateItemNotes value) updateItemNotes, + required TResult Function(_SaveDraftOrder value) saveDraftOrder, + required TResult Function(_LoadDraftOrder value) loadDraftOrder, + required TResult Function(_UpdateDeliveryType value) updateDeliveryType, + }) { + return updateDeliveryType(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Started value)? started, + TResult? Function(_AddItem value)? addItem, + TResult? Function(_RemoveItem value)? removeItem, + TResult? Function(_DeleteItem value)? deleteItem, + TResult? Function(_AddDiscount value)? addDiscount, + TResult? Function(_RemoveDiscount value)? removeDiscount, + TResult? Function(_AddTax value)? addTax, + TResult? Function(_AddServiceCharge value)? addServiceCharge, + TResult? Function(_RemoveTax value)? removeTax, + TResult? Function(_RemoveServiceCharge value)? removeServiceCharge, + TResult? Function(_UpdateOrderType value)? updateOrderType, + TResult? Function(_UpdateItemNotes value)? updateItemNotes, + TResult? Function(_SaveDraftOrder value)? saveDraftOrder, + TResult? Function(_LoadDraftOrder value)? loadDraftOrder, + TResult? Function(_UpdateDeliveryType value)? updateDeliveryType, + }) { + return updateDeliveryType?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Started value)? started, + TResult Function(_AddItem value)? addItem, + TResult Function(_RemoveItem value)? removeItem, + TResult Function(_DeleteItem value)? deleteItem, + TResult Function(_AddDiscount value)? addDiscount, + TResult Function(_RemoveDiscount value)? removeDiscount, + TResult Function(_AddTax value)? addTax, + TResult Function(_AddServiceCharge value)? addServiceCharge, + TResult Function(_RemoveTax value)? removeTax, + TResult Function(_RemoveServiceCharge value)? removeServiceCharge, + TResult Function(_UpdateOrderType value)? updateOrderType, + TResult Function(_UpdateItemNotes value)? updateItemNotes, + TResult Function(_SaveDraftOrder value)? saveDraftOrder, + TResult Function(_LoadDraftOrder value)? loadDraftOrder, + TResult Function(_UpdateDeliveryType value)? updateDeliveryType, + required TResult orElse(), + }) { + if (updateDeliveryType != null) { + return updateDeliveryType(this); + } + return orElse(); + } +} + +abstract class _UpdateDeliveryType implements CheckoutEvent { + const factory _UpdateDeliveryType(final DeliveryModel delivery) = + _$UpdateDeliveryTypeImpl; + + DeliveryModel get delivery; + + /// Create a copy of CheckoutEvent + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + _$$UpdateDeliveryTypeImplCopyWith<_$UpdateDeliveryTypeImpl> get copyWith => + throw _privateConstructorUsedError; +} + /// @nodoc mixin _$CheckoutState { @optionalTypeArgs @@ -3159,7 +3476,8 @@ mixin _$CheckoutState { int totalQuantity, int totalPrice, String draftName, - OrderType orderType) + OrderType orderType, + DeliveryModel? deliveryType) loaded, required TResult Function(String message) error, required TResult Function(int orderId) savedDraftOrder, @@ -3179,7 +3497,8 @@ mixin _$CheckoutState { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult? Function(String message)? error, TResult? Function(int orderId)? savedDraftOrder, @@ -3199,7 +3518,8 @@ mixin _$CheckoutState { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult Function(String message)? error, TResult Function(int orderId)? savedDraftOrder, @@ -3310,7 +3630,8 @@ class _$InitialImpl implements _Initial { int totalQuantity, int totalPrice, String draftName, - OrderType orderType) + OrderType orderType, + DeliveryModel? deliveryType) loaded, required TResult Function(String message) error, required TResult Function(int orderId) savedDraftOrder, @@ -3333,7 +3654,8 @@ class _$InitialImpl implements _Initial { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult? Function(String message)? error, TResult? Function(int orderId)? savedDraftOrder, @@ -3356,7 +3678,8 @@ class _$InitialImpl implements _Initial { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult Function(String message)? error, TResult Function(int orderId)? savedDraftOrder, @@ -3466,7 +3789,8 @@ class _$LoadingImpl implements _Loading { int totalQuantity, int totalPrice, String draftName, - OrderType orderType) + OrderType orderType, + DeliveryModel? deliveryType) loaded, required TResult Function(String message) error, required TResult Function(int orderId) savedDraftOrder, @@ -3489,7 +3813,8 @@ class _$LoadingImpl implements _Loading { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult? Function(String message)? error, TResult? Function(int orderId)? savedDraftOrder, @@ -3512,7 +3837,8 @@ class _$LoadingImpl implements _Loading { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult Function(String message)? error, TResult Function(int orderId)? savedDraftOrder, @@ -3585,7 +3911,8 @@ abstract class _$$LoadedImplCopyWith<$Res> { int totalQuantity, int totalPrice, String draftName, - OrderType orderType}); + OrderType orderType, + DeliveryModel? deliveryType}); } /// @nodoc @@ -3611,6 +3938,7 @@ class __$$LoadedImplCopyWithImpl<$Res> Object? totalPrice = null, Object? draftName = null, Object? orderType = null, + Object? deliveryType = freezed, }) { return _then(_$LoadedImpl( null == items @@ -3653,6 +3981,10 @@ class __$$LoadedImplCopyWithImpl<$Res> ? _value.orderType : orderType // ignore: cast_nullable_to_non_nullable as OrderType, + freezed == deliveryType + ? _value.deliveryType + : deliveryType // ignore: cast_nullable_to_non_nullable + as DeliveryModel?, )); } } @@ -3670,7 +4002,8 @@ class _$LoadedImpl implements _Loaded { this.totalQuantity, this.totalPrice, this.draftName, - this.orderType) + this.orderType, + this.deliveryType) : _items = items; final List _items; @@ -3699,10 +4032,12 @@ class _$LoadedImpl implements _Loaded { final String draftName; @override final OrderType orderType; + @override + final DeliveryModel? deliveryType; @override String toString() { - return 'CheckoutState.loaded(items: $items, discountModel: $discountModel, discount: $discount, discountAmount: $discountAmount, tax: $tax, serviceCharge: $serviceCharge, totalQuantity: $totalQuantity, totalPrice: $totalPrice, draftName: $draftName, orderType: $orderType)'; + return 'CheckoutState.loaded(items: $items, discountModel: $discountModel, discount: $discount, discountAmount: $discountAmount, tax: $tax, serviceCharge: $serviceCharge, totalQuantity: $totalQuantity, totalPrice: $totalPrice, draftName: $draftName, orderType: $orderType, deliveryType: $deliveryType)'; } @override @@ -3727,7 +4062,9 @@ class _$LoadedImpl implements _Loaded { (identical(other.draftName, draftName) || other.draftName == draftName) && (identical(other.orderType, orderType) || - other.orderType == orderType)); + other.orderType == orderType) && + const DeepCollectionEquality() + .equals(other.deliveryType, deliveryType)); } @override @@ -3742,7 +4079,8 @@ class _$LoadedImpl implements _Loaded { totalQuantity, totalPrice, draftName, - orderType); + orderType, + const DeepCollectionEquality().hash(deliveryType)); /// Create a copy of CheckoutState /// with the given fields replaced by the non-null parameter values. @@ -3767,13 +4105,24 @@ class _$LoadedImpl implements _Loaded { int totalQuantity, int totalPrice, String draftName, - OrderType orderType) + OrderType orderType, + DeliveryModel? deliveryType) loaded, required TResult Function(String message) error, required TResult Function(int orderId) savedDraftOrder, }) { - return loaded(items, discountModel, discount, discountAmount, tax, - serviceCharge, totalQuantity, totalPrice, draftName, orderType); + return loaded( + items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType); } @override @@ -3791,13 +4140,24 @@ class _$LoadedImpl implements _Loaded { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult? Function(String message)? error, TResult? Function(int orderId)? savedDraftOrder, }) { - return loaded?.call(items, discountModel, discount, discountAmount, tax, - serviceCharge, totalQuantity, totalPrice, draftName, orderType); + return loaded?.call( + items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType); } @override @@ -3815,15 +4175,26 @@ class _$LoadedImpl implements _Loaded { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult Function(String message)? error, TResult Function(int orderId)? savedDraftOrder, required TResult orElse(), }) { if (loaded != null) { - return loaded(items, discountModel, discount, discountAmount, tax, - serviceCharge, totalQuantity, totalPrice, draftName, orderType); + return loaded( + items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType); } return orElse(); } @@ -3880,7 +4251,8 @@ abstract class _Loaded implements CheckoutState { final int totalQuantity, final int totalPrice, final String draftName, - final OrderType orderType) = _$LoadedImpl; + final OrderType orderType, + final DeliveryModel? deliveryType) = _$LoadedImpl; List get items; Discount? get discountModel; @@ -3892,6 +4264,7 @@ abstract class _Loaded implements CheckoutState { int get totalPrice; String get draftName; OrderType get orderType; + DeliveryModel? get deliveryType; /// Create a copy of CheckoutState /// with the given fields replaced by the non-null parameter values. @@ -3980,7 +4353,8 @@ class _$ErrorImpl implements _Error { int totalQuantity, int totalPrice, String draftName, - OrderType orderType) + OrderType orderType, + DeliveryModel? deliveryType) loaded, required TResult Function(String message) error, required TResult Function(int orderId) savedDraftOrder, @@ -4003,7 +4377,8 @@ class _$ErrorImpl implements _Error { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult? Function(String message)? error, TResult? Function(int orderId)? savedDraftOrder, @@ -4026,7 +4401,8 @@ class _$ErrorImpl implements _Error { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult Function(String message)? error, TResult Function(int orderId)? savedDraftOrder, @@ -4172,7 +4548,8 @@ class _$SavedDraftOrderImpl implements _SavedDraftOrder { int totalQuantity, int totalPrice, String draftName, - OrderType orderType) + OrderType orderType, + DeliveryModel? deliveryType) loaded, required TResult Function(String message) error, required TResult Function(int orderId) savedDraftOrder, @@ -4195,7 +4572,8 @@ class _$SavedDraftOrderImpl implements _SavedDraftOrder { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult? Function(String message)? error, TResult? Function(int orderId)? savedDraftOrder, @@ -4218,7 +4596,8 @@ class _$SavedDraftOrderImpl implements _SavedDraftOrder { int totalQuantity, int totalPrice, String draftName, - OrderType orderType)? + OrderType orderType, + DeliveryModel? deliveryType)? loaded, TResult Function(String message)? error, TResult Function(int orderId)? savedDraftOrder, diff --git a/lib/presentation/home/bloc/checkout/checkout_event.dart b/lib/presentation/home/bloc/checkout/checkout_event.dart index 056aa4b..25e6edf 100644 --- a/lib/presentation/home/bloc/checkout/checkout_event.dart +++ b/lib/presentation/home/bloc/checkout/checkout_event.dart @@ -42,4 +42,8 @@ class CheckoutEvent with _$CheckoutEvent { //load draft order const factory CheckoutEvent.loadDraftOrder(DraftOrderModel data) = _LoadDraftOrder; + +// Update delivery type + const factory CheckoutEvent.updateDeliveryType(DeliveryModel delivery) = + _UpdateDeliveryType; } diff --git a/lib/presentation/home/bloc/checkout/checkout_state.dart b/lib/presentation/home/bloc/checkout/checkout_state.dart index 738d63c..691236d 100644 --- a/lib/presentation/home/bloc/checkout/checkout_state.dart +++ b/lib/presentation/home/bloc/checkout/checkout_state.dart @@ -5,16 +5,18 @@ class CheckoutState with _$CheckoutState { const factory CheckoutState.initial() = _Initial; const factory CheckoutState.loading() = _Loading; const factory CheckoutState.loaded( - List items, - Discount? discountModel, - int discount, - int discountAmount, - int tax, - int serviceCharge, - int totalQuantity, - int totalPrice, - String draftName, - OrderType orderType) = _Loaded; + List items, + Discount? discountModel, + int discount, + int discountAmount, + int tax, + int serviceCharge, + int totalQuantity, + int totalPrice, + String draftName, + OrderType orderType, + DeliveryModel? deliveryType, + ) = _Loaded; const factory CheckoutState.error(String message) = _Error; //save draft order diff --git a/lib/presentation/home/dialog/delivery_dialog.dart b/lib/presentation/home/dialog/delivery_dialog.dart new file mode 100644 index 0000000..5058f0f --- /dev/null +++ b/lib/presentation/home/dialog/delivery_dialog.dart @@ -0,0 +1,114 @@ +import 'package:enaklo_pos/core/components/custom_modal_dialog.dart'; +import 'package:enaklo_pos/core/components/spaces.dart'; +import 'package:enaklo_pos/core/constants/colors.dart'; +import 'package:enaklo_pos/data/datasources/delivery_local_datasource.dart'; +import 'package:enaklo_pos/data/models/response/delivery_response_model.dart'; +import 'package:enaklo_pos/presentation/home/bloc/checkout/checkout_bloc.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +class DeliveryDialog extends StatefulWidget { + const DeliveryDialog({super.key}); + + @override + State createState() => _DeliveryDialogState(); +} + +class _DeliveryDialogState extends State { + @override + Widget build(BuildContext context) { + return CustomModalDialog( + title: 'Pilih Pengiriman', + subtitle: 'Silahkan pilih pengiriman yang sesuai', + contentPadding: + const EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0), + child: BlocBuilder( + builder: (context, state) { + return state.maybeWhen( + orElse: () => const SizedBox.shrink(), + loaded: (items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType) { + return Column( + children: List.generate(deliveries.length, (index) { + return _buildItem( + context, + deliveries[index], + selectedType: deliveryType, + ); + }), + ); + }); + }, + ), + ); + } + + Widget _buildItem(BuildContext context, DeliveryModel delivery, + {DeliveryModel? selectedType}) { + return GestureDetector( + onTap: () { + context.read().add( + CheckoutEvent.updateDeliveryType(delivery), + ); + Navigator.pop(context); + }, + child: Container( + padding: const EdgeInsets.symmetric(vertical: 12.0, horizontal: 16.0), + margin: const EdgeInsets.only(bottom: 8.0), + decoration: BoxDecoration( + color: selectedType?.id == delivery.id + ? AppColors.primary + : AppColors.white, + borderRadius: BorderRadius.circular(8.0), + border: Border.all( + color: selectedType?.id == delivery.id + ? AppColors.primary + : AppColors.grey, + width: 1.0, + ), + ), + child: Row( + children: [ + Image.asset( + delivery.imageUrl, + width: 40.0, + height: 40.0, + fit: BoxFit.contain, + ), + SpaceWidth(12.0), + Expanded( + child: Text( + delivery.name, + style: TextStyle( + fontSize: 16, + color: selectedType?.id == delivery.id + ? AppColors.white + : AppColors.black, + fontWeight: FontWeight.bold, + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + ), + SpaceWidth(12.0), + Icon( + Icons.check_circle, + color: selectedType?.id == delivery.id + ? AppColors.green + : Colors.transparent, + ), + ], + ), + ), + ); + } +} diff --git a/lib/presentation/home/dialog/service_dialog.dart b/lib/presentation/home/dialog/service_dialog.dart index a2caa69..ccff751 100644 --- a/lib/presentation/home/dialog/service_dialog.dart +++ b/lib/presentation/home/dialog/service_dialog.dart @@ -56,7 +56,19 @@ class ServiceDialog extends StatelessWidget { return state.maybeWhen( initial: () => const SizedBox(), loading: () => const Center(child: CircularProgressIndicator()), - loaded: (data, a, b, c, d, service, e, f, g, orderType) => + loaded: ( + data, + a, + b, + c, + d, + service, + e, + f, + g, + orderType, + deliveryType, + ) => _buildServiceItem(context, service), orElse: () => const SizedBox(), ); diff --git a/lib/presentation/home/dialog/tax_dialog.dart b/lib/presentation/home/dialog/tax_dialog.dart index dea83a1..1f55b8a 100644 --- a/lib/presentation/home/dialog/tax_dialog.dart +++ b/lib/presentation/home/dialog/tax_dialog.dart @@ -44,7 +44,20 @@ class TaxDialog extends StatelessWidget { return state.maybeWhen( initial: () => const SizedBox(), loading: () => const Center(child: CircularProgressIndicator()), - loaded: (data, a, b, c, tax, d, e, f, g, orderType) => ListTile( + loaded: ( + data, + a, + b, + c, + tax, + d, + e, + f, + g, + orderType, + deliveryType, + ) => + ListTile( title: const Text('PB1'), subtitle: Text('tarif pajak ($tax%)'), contentPadding: EdgeInsets.zero, diff --git a/lib/presentation/home/dialog/type_dialog.dart b/lib/presentation/home/dialog/type_dialog.dart index c4e35ca..65d6788 100644 --- a/lib/presentation/home/dialog/type_dialog.dart +++ b/lib/presentation/home/dialog/type_dialog.dart @@ -52,16 +52,19 @@ class _TypeDialogState extends State { builder: (context, state) { return state.maybeWhen( orElse: () => const SizedBox.shrink(), - loaded: (items, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { return Column( children: List.generate(types.length, (index) { return _buildItem( diff --git a/lib/presentation/home/pages/confirm_payment_page-old.dart b/lib/presentation/home/pages/confirm_payment_page-old.dart index db785a3..89f2a0d 100644 --- a/lib/presentation/home/pages/confirm_payment_page-old.dart +++ b/lib/presentation/home/pages/confirm_payment_page-old.dart @@ -198,16 +198,19 @@ class _ConfirmPaymentPageState extends State { orElse: () => const Center( child: Text('No Items'), ), - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (products.isEmpty) { return const Center( child: Text('No Items'), @@ -240,16 +243,19 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -280,16 +286,19 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (discountModel == null) { return 0; } @@ -300,16 +309,19 @@ class _ConfirmPaymentPageState extends State { final subTotal = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -343,30 +355,36 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { final tax = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => tax, ); final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -378,16 +396,19 @@ class _ConfirmPaymentPageState extends State { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (discountModel == null) { return 0; } @@ -425,31 +446,37 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { final serviceCharge = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => serviceCharge, ); final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -491,16 +518,19 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -512,16 +542,19 @@ class _ConfirmPaymentPageState extends State { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (discountModel == null) { return 0; } @@ -532,31 +565,37 @@ class _ConfirmPaymentPageState extends State { final tax = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => tax, ); final serviceCharge = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => serviceCharge, ); @@ -1220,16 +1259,19 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (discountModel == null) { return 0; } @@ -1240,16 +1282,19 @@ class _ConfirmPaymentPageState extends State { final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -1261,46 +1306,55 @@ class _ConfirmPaymentPageState extends State { final serviceCharge = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderTyp, + deliveryType, + ) => serviceCharge, ); final tax = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => tax, ); final orderType = state.maybeWhen( orElse: () => OrderType.dineIn, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => orderType, ); @@ -1315,16 +1369,19 @@ class _ConfirmPaymentPageState extends State { List items = state.maybeWhen( orElse: () => [], - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products, ); final totalQty = items.fold( diff --git a/lib/presentation/home/pages/confirm_payment_page.dart b/lib/presentation/home/pages/confirm_payment_page.dart index bcc5571..5689c5b 100644 --- a/lib/presentation/home/pages/confirm_payment_page.dart +++ b/lib/presentation/home/pages/confirm_payment_page.dart @@ -132,16 +132,19 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { return state.maybeWhen( orElse: () => const SizedBox(), - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { return Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(8.0), @@ -221,16 +224,19 @@ class _ConfirmPaymentPageState extends State { orElse: () => const Center( child: Text('No Items'), ), - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (products.isEmpty) { return const Center( child: Text('No Items'), @@ -263,6 +269,59 @@ class _ConfirmPaymentPageState extends State { ), child: Column( children: [ + BlocBuilder( + builder: (context, state) { + return state.maybeWhen( + orElse: () => const SizedBox.shrink(), + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { + if (deliveryType == null) { + return const SizedBox.shrink(); + } + + return Column( + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Pengiriman', + style: TextStyle( + color: AppColors.black, + fontWeight: FontWeight.w600, + ), + ), + Text( + deliveryType.name, + style: TextStyle( + color: AppColors.black, + fontWeight: FontWeight.w600, + ), + ), + ], + ), + const SpaceHeight(8.0), + DashedDivider( + color: AppColors.grey, + ), + const SpaceHeight(8.0), + ], + ); + }); + }, + ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -277,16 +336,19 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -320,30 +382,36 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { final tax = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => tax, ); final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -355,16 +423,19 @@ class _ConfirmPaymentPageState extends State { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (discountModel == null) { return 0; } @@ -410,16 +481,19 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -431,16 +505,19 @@ class _ConfirmPaymentPageState extends State { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (discountModel == null) { return 0; } @@ -451,31 +528,37 @@ class _ConfirmPaymentPageState extends State { final tax = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => tax, ); final serviceCharge = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => serviceCharge, ); @@ -826,31 +909,37 @@ class _ConfirmPaymentPageState extends State { builder: (context, state) { final orderType = state.maybeWhen( orElse: () => OrderType.dineIn, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => orderType, ); List items = state.maybeWhen( orElse: () => [], - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products, ); diff --git a/lib/presentation/home/pages/home_page.dart b/lib/presentation/home/pages/home_page.dart index acf95a1..e37d34c 100644 --- a/lib/presentation/home/pages/home_page.dart +++ b/lib/presentation/home/pages/home_page.dart @@ -307,16 +307,19 @@ class _HomePageState extends State { orElse: () => const Center( child: Text('No Items'), ), - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (products.isEmpty) { return const Center( child: Text('No Items'), @@ -358,16 +361,19 @@ class _HomePageState extends State { builder: (context, state) { final tax = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (products.isEmpty) { return 0; } @@ -409,7 +415,8 @@ class _HomePageState extends State { totalQuantity, totalPrice, draftName, - orderType) { + orderType, + deliveryType) { if (products.isEmpty) { return 0; } @@ -462,7 +469,8 @@ class _HomePageState extends State { totalQuantity, totalPrice, draftName, - orderType) => + orderType, + deliveryType) => Align( alignment: Alignment.bottomCenter, child: Button.filled( @@ -476,6 +484,14 @@ class _HomePageState extends State { 'Mohon pilih meja terlebih dahulu'); return; } + + if (orderType.name == 'delivery' && + deliveryType == null) { + AppFlushbar.showError(context, + 'Mohon pilih pengiriman terlebih dahulu'); + return; + } + context.push(ConfirmPaymentPage( isTable: widget.table == null ? false diff --git a/lib/presentation/home/widgets/home_right_title.dart b/lib/presentation/home/widgets/home_right_title.dart index 9f0e7e2..0208414 100644 --- a/lib/presentation/home/widgets/home_right_title.dart +++ b/lib/presentation/home/widgets/home_right_title.dart @@ -5,6 +5,7 @@ import 'package:enaklo_pos/core/extensions/string_ext.dart'; import 'package:enaklo_pos/data/models/response/table_model.dart'; import 'package:enaklo_pos/presentation/customer/pages/customer_page.dart'; import 'package:enaklo_pos/presentation/home/bloc/checkout/checkout_bloc.dart'; +import 'package:enaklo_pos/presentation/home/dialog/delivery_dialog.dart'; import 'package:enaklo_pos/presentation/home/dialog/type_dialog.dart'; import 'package:enaklo_pos/presentation/home/models/order_type.dart'; import 'package:enaklo_pos/presentation/home/pages/dashboard_page.dart'; @@ -81,16 +82,19 @@ class HomeRightTitle extends StatelessWidget { builder: (context, state) { return state.maybeWhen( orElse: () => const SizedBox.shrink(), - loaded: (items, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { return Button.filled( width: 180.0, height: 40, @@ -120,16 +124,19 @@ class HomeRightTitle extends StatelessWidget { builder: (context, state) { return state.maybeWhen( orElse: () => const SizedBox.shrink(), - loaded: (items, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { switch (orderType) { case OrderType.dineIn: return Expanded( @@ -159,7 +166,30 @@ class HomeRightTitle extends StatelessWidget { case OrderType.takeAway: return const SizedBox.shrink(); case OrderType.delivery: - return const SizedBox.shrink(); + return Expanded( + child: Button.filled( + width: 180.0, + height: 40, + elevation: 0, + icon: Icon( + Icons.motorcycle_outlined, + color: Colors.white, + size: 24, + ), + onPressed: () { + showDialog( + context: context, + builder: (context) { + return DeliveryDialog(); + }); + }, + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + label: deliveryType == null + ? 'Pilih Pengiriman' + : deliveryType.name, + ), + ); default: return const SizedBox.shrink(); } diff --git a/lib/presentation/home/widgets/order_type_selector.dart b/lib/presentation/home/widgets/order_type_selector.dart index 01eb355..57d0414 100644 --- a/lib/presentation/home/widgets/order_type_selector.dart +++ b/lib/presentation/home/widgets/order_type_selector.dart @@ -15,7 +15,19 @@ class OrderTypeSelector extends StatelessWidget { builder: (context, state) { return state.maybeWhen( orElse: () => const SizedBox.shrink(), - loaded: (items, discountModel, discount, discountAmount, tax, serviceCharge, totalQuantity, totalPrice, draftName, orderType) { + loaded: ( + items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -36,8 +48,8 @@ class OrderTypeSelector extends StatelessWidget { return GestureDetector( onTap: () { context.read().add( - CheckoutEvent.updateOrderType(type), - ); + CheckoutEvent.updateOrderType(type), + ); }, child: Container( padding: const EdgeInsets.symmetric( @@ -45,9 +57,11 @@ class OrderTypeSelector extends StatelessWidget { vertical: 8.0, ), decoration: BoxDecoration( - color: isSelected ? AppColors.primary : AppColors.white, + color: + isSelected ? AppColors.primary : AppColors.white, border: Border.all( - color: isSelected ? AppColors.primary : AppColors.grey, + color: + isSelected ? AppColors.primary : AppColors.grey, width: 1.0, ), borderRadius: BorderRadius.circular(8.0), @@ -55,9 +69,12 @@ class OrderTypeSelector extends StatelessWidget { child: Text( type.value, style: TextStyle( - color: isSelected ? AppColors.white : AppColors.black, + color: + isSelected ? AppColors.white : AppColors.black, fontSize: 14, - fontWeight: isSelected ? FontWeight.w600 : FontWeight.normal, + fontWeight: isSelected + ? FontWeight.w600 + : FontWeight.normal, ), ), ), @@ -71,4 +88,4 @@ class OrderTypeSelector extends StatelessWidget { }, ); } -} \ No newline at end of file +} diff --git a/lib/presentation/home/widgets/product_card.dart b/lib/presentation/home/widgets/product_card.dart index 883d966..2327a34 100644 --- a/lib/presentation/home/widgets/product_card.dart +++ b/lib/presentation/home/widgets/product_card.dart @@ -114,16 +114,19 @@ class ProductCard extends StatelessWidget { builder: (context, state) { return state.maybeWhen( orElse: () => const SizedBox(), - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { final totalQuantity = products .where((item) => item.product.id == data.id) .map((item) => item.quantity) diff --git a/lib/presentation/home/widgets/save_order_dialog.dart b/lib/presentation/home/widgets/save_order_dialog.dart index abc2b64..6e6179e 100644 --- a/lib/presentation/home/widgets/save_order_dialog.dart +++ b/lib/presentation/home/widgets/save_order_dialog.dart @@ -90,16 +90,19 @@ class _SaveOrderDialogState extends State { builder: (context, state) { final orderType = state.maybeWhen( orElse: () => OrderType.dineIn, - loaded: (items, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => orderType, ); diff --git a/lib/presentation/home/widgets/success_payment_dialog.dart b/lib/presentation/home/widgets/success_payment_dialog.dart index ac2355a..cdfac45 100644 --- a/lib/presentation/home/widgets/success_payment_dialog.dart +++ b/lib/presentation/home/widgets/success_payment_dialog.dart @@ -201,16 +201,19 @@ class _SuccessPaymentDialogState extends State { builder: (context, checkoutState) { final orderType = checkoutState.maybeWhen( orElse: () => OrderType.dineIn, - loaded: (items, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => orderType, ); diff --git a/lib/presentation/table/pages/payment_table_page.dart b/lib/presentation/table/pages/payment_table_page.dart index c6e4b96..d7c4ef7 100644 --- a/lib/presentation/table/pages/payment_table_page.dart +++ b/lib/presentation/table/pages/payment_table_page.dart @@ -250,16 +250,19 @@ class _PaymentTablePageState extends State { orElse: () => const Center( child: Text('No Items'), ), - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (products.isEmpty) { return const Center( child: Text('No Items'), @@ -294,16 +297,19 @@ class _PaymentTablePageState extends State { builder: (context, state) { final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -335,16 +341,19 @@ class _PaymentTablePageState extends State { builder: (context, state) { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { log("discountAmount: $discountAmount"); return discountAmount; }); @@ -374,30 +383,36 @@ class _PaymentTablePageState extends State { builder: (context, state) { final tax = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => tax, ); final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -409,16 +424,19 @@ class _PaymentTablePageState extends State { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { return discountAmount; }); @@ -448,30 +466,36 @@ class _PaymentTablePageState extends State { builder: (context, state) { state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => tax, ); final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -483,31 +507,37 @@ class _PaymentTablePageState extends State { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { return discountAmount; }); final serviceCharge = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => serviceCharge, ); @@ -541,16 +571,19 @@ class _PaymentTablePageState extends State { builder: (context, state) { final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -562,46 +595,55 @@ class _PaymentTablePageState extends State { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { return discountAmount; }); final serviceCharge = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => serviceCharge, ); final tax = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => tax, ); @@ -674,16 +716,19 @@ class _PaymentTablePageState extends State { orElse: () { return SizedBox.shrink(); }, - loaded: (items, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + items, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { customerController.text = draftName; return TextFormField( readOnly: true, @@ -1037,16 +1082,19 @@ class _PaymentTablePageState extends State { builder: (context, state) { final discount = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) { + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) { if (discountModel == null) { return 0; } @@ -1057,16 +1105,19 @@ class _PaymentTablePageState extends State { final price = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products.fold( 0, (previousValue, element) => @@ -1078,16 +1129,19 @@ class _PaymentTablePageState extends State { final tax = state.maybeWhen( orElse: () => 0, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => tax, ); @@ -1100,16 +1154,19 @@ class _PaymentTablePageState extends State { List items = state.maybeWhen( orElse: () => [], - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => products, ); final totalQty = items.fold( @@ -1120,16 +1177,19 @@ class _PaymentTablePageState extends State { final orderType = state.maybeWhen( orElse: () => OrderType.dineIn, - loaded: (products, - discountModel, - discount, - discountAmount, - tax, - serviceCharge, - totalQuantity, - totalPrice, - draftName, - orderType) => + loaded: ( + products, + discountModel, + discount, + discountAmount, + tax, + serviceCharge, + totalQuantity, + totalPrice, + draftName, + orderType, + deliveryType, + ) => orderType, );