diff --git a/lib/presentation/home/bloc/checkout/checkout_bloc.dart b/lib/presentation/home/bloc/checkout/checkout_bloc.dart index 379be00..f4b1423 100644 --- a/lib/presentation/home/bloc/checkout/checkout_bloc.dart +++ b/lib/presentation/home/bloc/checkout/checkout_bloc.dart @@ -3,7 +3,6 @@ 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/discount_response_model.dart'; -import 'package:enaklo_pos/presentation/home/models/order_item.dart'; import 'package:enaklo_pos/presentation/table/models/draft_order_item.dart'; import 'package:enaklo_pos/presentation/table/models/draft_order_model.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; @@ -20,8 +19,9 @@ part 'checkout_bloc.freezed.dart'; class CheckoutBloc extends Bloc { final SettingsLocalDatasource settingsLocalDatasource; - - CheckoutBloc({required this.settingsLocalDatasource}) : super(const CheckoutState.initial()) { + + CheckoutBloc({required this.settingsLocalDatasource}) + : super(const CheckoutState.initial()) { on<_AddItem>((event, emit) { var currentState = state as _Loaded; List items = [...currentState.items]; @@ -74,14 +74,37 @@ class CheckoutBloc extends Bloc { currentState.orderType)); }); + on<_DeleteItem>((event, emit) { + var currentState = state as _Loaded; + List items = [...currentState.items]; + var index = + items.indexWhere((element) => element.product.id == event.product.id); + emit(const _Loading()); + + items.removeAt(index); + + emit(_Loaded( + items, + currentState.discountModel, + currentState.discount, + currentState.discountAmount, + currentState.tax, + currentState.serviceCharge, + currentState.totalQuantity, + currentState.totalPrice, + currentState.draftName, + currentState.orderType)); + }); + on<_Started>((event, emit) async { emit(const _Loading()); try { // Load tax and service charge from settings 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)); } catch (e) { // If loading fails, use default values log('Failed to load settings: $e'); @@ -199,7 +222,8 @@ class CheckoutBloc extends Bloc { on<_UpdateItemNotes>((event, emit) { var currentState = state as _Loaded; List items = [...currentState.items]; - var index = items.indexWhere((element) => element.product.id == event.product.id); + var index = + items.indexWhere((element) => element.product.id == event.product.id); if (index != -1) { items[index] = items[index].copyWith(notes: event.notes); } diff --git a/lib/presentation/home/bloc/checkout/checkout_bloc.freezed.dart b/lib/presentation/home/bloc/checkout/checkout_bloc.freezed.dart index 30980f3..95c6cf6 100644 --- a/lib/presentation/home/bloc/checkout/checkout_bloc.freezed.dart +++ b/lib/presentation/home/bloc/checkout/checkout_bloc.freezed.dart @@ -21,6 +21,7 @@ mixin _$CheckoutEvent { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -40,6 +41,7 @@ mixin _$CheckoutEvent { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -58,6 +60,7 @@ mixin _$CheckoutEvent { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -77,6 +80,7 @@ mixin _$CheckoutEvent { 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, @@ -94,6 +98,7 @@ mixin _$CheckoutEvent { 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, @@ -111,6 +116,7 @@ mixin _$CheckoutEvent { 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, @@ -191,6 +197,7 @@ class _$StartedImpl implements _Started { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -213,6 +220,7 @@ class _$StartedImpl implements _Started { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -234,6 +242,7 @@ class _$StartedImpl implements _Started { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -259,6 +268,7 @@ class _$StartedImpl implements _Started { 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, @@ -279,6 +289,7 @@ class _$StartedImpl implements _Started { 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, @@ -299,6 +310,7 @@ class _$StartedImpl implements _Started { 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, @@ -393,6 +405,7 @@ class _$AddItemImpl implements _AddItem { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -415,6 +428,7 @@ class _$AddItemImpl implements _AddItem { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -436,6 +450,7 @@ class _$AddItemImpl implements _AddItem { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -461,6 +476,7 @@ class _$AddItemImpl implements _AddItem { 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, @@ -481,6 +497,7 @@ class _$AddItemImpl implements _AddItem { 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, @@ -501,6 +518,7 @@ class _$AddItemImpl implements _AddItem { 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, @@ -603,6 +621,7 @@ class _$RemoveItemImpl implements _RemoveItem { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -625,6 +644,7 @@ class _$RemoveItemImpl implements _RemoveItem { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -646,6 +666,7 @@ class _$RemoveItemImpl implements _RemoveItem { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -671,6 +692,7 @@ class _$RemoveItemImpl implements _RemoveItem { 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, @@ -691,6 +713,7 @@ class _$RemoveItemImpl implements _RemoveItem { 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, @@ -711,6 +734,7 @@ class _$RemoveItemImpl implements _RemoveItem { 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, @@ -742,6 +766,222 @@ abstract class _RemoveItem implements CheckoutEvent { throw _privateConstructorUsedError; } +/// @nodoc +abstract class _$$DeleteItemImplCopyWith<$Res> { + factory _$$DeleteItemImplCopyWith( + _$DeleteItemImpl value, $Res Function(_$DeleteItemImpl) then) = + __$$DeleteItemImplCopyWithImpl<$Res>; + @useResult + $Res call({Product product}); +} + +/// @nodoc +class __$$DeleteItemImplCopyWithImpl<$Res> + extends _$CheckoutEventCopyWithImpl<$Res, _$DeleteItemImpl> + implements _$$DeleteItemImplCopyWith<$Res> { + __$$DeleteItemImplCopyWithImpl( + _$DeleteItemImpl _value, $Res Function(_$DeleteItemImpl) _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? product = null, + }) { + return _then(_$DeleteItemImpl( + null == product + ? _value.product + : product // ignore: cast_nullable_to_non_nullable + as Product, + )); + } +} + +/// @nodoc + +class _$DeleteItemImpl implements _DeleteItem { + const _$DeleteItemImpl(this.product); + + @override + final Product product; + + @override + String toString() { + return 'CheckoutEvent.deleteItem(product: $product)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$DeleteItemImpl && + (identical(other.product, product) || other.product == product)); + } + + @override + int get hashCode => Object.hash(runtimeType, product); + + /// 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') + _$$DeleteItemImplCopyWith<_$DeleteItemImpl> get copyWith => + __$$DeleteItemImplCopyWithImpl<_$DeleteItemImpl>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() started, + required TResult Function(Product product) addItem, + required TResult Function(Product product) removeItem, + required TResult Function(Product product) 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, + }) { + return deleteItem(product); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? started, + TResult? Function(Product product)? addItem, + TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? 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, + }) { + return deleteItem?.call(product); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? started, + TResult Function(Product product)? addItem, + TResult Function(Product product)? removeItem, + TResult Function(Product product)? 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, + required TResult orElse(), + }) { + if (deleteItem != null) { + return deleteItem(product); + } + 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, + }) { + return deleteItem(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, + }) { + return deleteItem?.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, + required TResult orElse(), + }) { + if (deleteItem != null) { + return deleteItem(this); + } + return orElse(); + } +} + +abstract class _DeleteItem implements CheckoutEvent { + const factory _DeleteItem(final Product product) = _$DeleteItemImpl; + + Product get product; + + /// Create a copy of CheckoutEvent + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + _$$DeleteItemImplCopyWith<_$DeleteItemImpl> get copyWith => + throw _privateConstructorUsedError; +} + /// @nodoc abstract class _$$AddDiscountImplCopyWith<$Res> { factory _$$AddDiscountImplCopyWith( @@ -814,6 +1054,7 @@ class _$AddDiscountImpl implements _AddDiscount { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -836,6 +1077,7 @@ class _$AddDiscountImpl implements _AddDiscount { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -857,6 +1099,7 @@ class _$AddDiscountImpl implements _AddDiscount { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -882,6 +1125,7 @@ class _$AddDiscountImpl implements _AddDiscount { 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, @@ -902,6 +1146,7 @@ class _$AddDiscountImpl implements _AddDiscount { 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, @@ -922,6 +1167,7 @@ class _$AddDiscountImpl implements _AddDiscount { 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, @@ -997,6 +1243,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -1019,6 +1266,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -1040,6 +1288,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -1065,6 +1314,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { 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, @@ -1085,6 +1335,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { 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, @@ -1105,6 +1356,7 @@ class _$RemoveDiscountImpl implements _RemoveDiscount { 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, @@ -1199,6 +1451,7 @@ class _$AddTaxImpl implements _AddTax { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -1221,6 +1474,7 @@ class _$AddTaxImpl implements _AddTax { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -1242,6 +1496,7 @@ class _$AddTaxImpl implements _AddTax { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -1267,6 +1522,7 @@ class _$AddTaxImpl implements _AddTax { 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, @@ -1287,6 +1543,7 @@ class _$AddTaxImpl implements _AddTax { 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, @@ -1307,6 +1564,7 @@ class _$AddTaxImpl implements _AddTax { 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, @@ -1411,6 +1669,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -1433,6 +1692,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -1454,6 +1714,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -1479,6 +1740,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { 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, @@ -1499,6 +1761,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { 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, @@ -1519,6 +1782,7 @@ class _$AddServiceChargeImpl implements _AddServiceCharge { 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, @@ -1595,6 +1859,7 @@ class _$RemoveTaxImpl implements _RemoveTax { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -1617,6 +1882,7 @@ class _$RemoveTaxImpl implements _RemoveTax { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -1638,6 +1904,7 @@ class _$RemoveTaxImpl implements _RemoveTax { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -1663,6 +1930,7 @@ class _$RemoveTaxImpl implements _RemoveTax { 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, @@ -1683,6 +1951,7 @@ class _$RemoveTaxImpl implements _RemoveTax { 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, @@ -1703,6 +1972,7 @@ class _$RemoveTaxImpl implements _RemoveTax { 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, @@ -1771,6 +2041,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -1793,6 +2064,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -1814,6 +2086,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -1839,6 +2112,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { 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, @@ -1859,6 +2133,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { 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, @@ -1879,6 +2154,7 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge { 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, @@ -1975,6 +2251,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -1997,6 +2274,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -2018,6 +2296,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -2043,6 +2322,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { 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, @@ -2063,6 +2343,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { 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, @@ -2083,6 +2364,7 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType { 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, @@ -2195,6 +2477,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -2217,6 +2500,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -2238,6 +2522,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -2263,6 +2548,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { 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, @@ -2283,6 +2569,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { 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, @@ -2303,6 +2590,7 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes { 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, @@ -2429,6 +2717,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -2451,6 +2740,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -2472,6 +2762,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -2497,6 +2788,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { 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, @@ -2517,6 +2809,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { 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, @@ -2537,6 +2830,7 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder { 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, @@ -2643,6 +2937,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { required TResult Function() started, required TResult Function(Product product) addItem, required TResult Function(Product product) removeItem, + required TResult Function(Product product) deleteItem, required TResult Function(Discount discount) addDiscount, required TResult Function() removeDiscount, required TResult Function(int tax) addTax, @@ -2665,6 +2960,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { TResult? Function()? started, TResult? Function(Product product)? addItem, TResult? Function(Product product)? removeItem, + TResult? Function(Product product)? deleteItem, TResult? Function(Discount discount)? addDiscount, TResult? Function()? removeDiscount, TResult? Function(int tax)? addTax, @@ -2686,6 +2982,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { TResult Function()? started, TResult Function(Product product)? addItem, TResult Function(Product product)? removeItem, + TResult Function(Product product)? deleteItem, TResult Function(Discount discount)? addDiscount, TResult Function()? removeDiscount, TResult Function(int tax)? addTax, @@ -2711,6 +3008,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { 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, @@ -2731,6 +3029,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { 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, @@ -2751,6 +3050,7 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder { 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, diff --git a/lib/presentation/home/bloc/checkout/checkout_event.dart b/lib/presentation/home/bloc/checkout/checkout_event.dart index e276431..a8bdfa8 100644 --- a/lib/presentation/home/bloc/checkout/checkout_event.dart +++ b/lib/presentation/home/bloc/checkout/checkout_event.dart @@ -7,6 +7,8 @@ class CheckoutEvent with _$CheckoutEvent { const factory CheckoutEvent.addItem(Product product) = _AddItem; //remove item const factory CheckoutEvent.removeItem(Product product) = _RemoveItem; + // Delete Item + const factory CheckoutEvent.deleteItem(Product product) = _DeleteItem; //add discount const factory CheckoutEvent.addDiscount(Discount discount) = _AddDiscount; @@ -20,13 +22,15 @@ class CheckoutEvent with _$CheckoutEvent { //remove tax const factory CheckoutEvent.removeTax() = _RemoveTax; //remove service charge - const factory CheckoutEvent.removeServiceCharge() = _RemoveServiceCharge; + const factory CheckoutEvent.removeServiceCharge() = _RemoveServiceCharge; //update order type - const factory CheckoutEvent.updateOrderType(OrderType orderType) = _UpdateOrderType; + const factory CheckoutEvent.updateOrderType(OrderType orderType) = + _UpdateOrderType; //update item notes - const factory CheckoutEvent.updateItemNotes(Product product, String notes) = _UpdateItemNotes; + const factory CheckoutEvent.updateItemNotes(Product product, String notes) = + _UpdateItemNotes; //save draft order const factory CheckoutEvent.saveDraftOrder( diff --git a/lib/presentation/home/widgets/order_menu.dart b/lib/presentation/home/widgets/order_menu.dart index a46bfa7..94ccca9 100644 --- a/lib/presentation/home/widgets/order_menu.dart +++ b/lib/presentation/home/widgets/order_menu.dart @@ -170,16 +170,23 @@ class _OrderMenuState extends State { ), ), const SpaceWidth(16.0), - Container( - height: 40, - width: 40, - decoration: BoxDecoration( - color: AppColors.primary, - borderRadius: BorderRadius.circular(8.0), - ), - child: Icon( - Icons.delete_outline, - color: AppColors.white, + GestureDetector( + onTap: () { + context + .read() + .add(CheckoutEvent.deleteItem(widget.data.product)); + }, + child: Container( + height: 40, + width: 40, + decoration: BoxDecoration( + color: AppColors.primary, + borderRadius: BorderRadius.circular(8.0), + ), + child: Icon( + Icons.delete_outline, + color: AppColors.white, + ), ), ), ],