feat: confirm save order

This commit is contained in:
efrilm
2025-08-06 19:08:59 +07:00
parent 6fdaac2c0f
commit 5e9d5040e7
3 changed files with 457 additions and 10 deletions
+27 -10
View File
@@ -3,7 +3,9 @@ import 'package:enaklo_pos/core/components/spaces.dart';
import 'package:enaklo_pos/core/constants/colors.dart';
import 'package:enaklo_pos/core/extensions/build_context_ext.dart';
import 'package:enaklo_pos/data/models/response/customer_response_model.dart';
import 'package:enaklo_pos/data/models/response/delivery_response_model.dart';
import 'package:enaklo_pos/data/models/response/table_model.dart';
import 'package:enaklo_pos/presentation/home/dialog/confirm_save_order_dialog.dart';
import 'package:enaklo_pos/presentation/home/dialog/payment_add_order_dialog.dart';
import 'package:enaklo_pos/presentation/home/dialog/payment_save_dialog.dart';
import 'package:enaklo_pos/presentation/home/models/order_type.dart';
@@ -16,6 +18,7 @@ class SaveDialog extends StatefulWidget {
final OrderType orderType;
final List<ProductQuantity> items;
final Customer? customer;
final DeliveryModel? deliveryModel;
const SaveDialog({
super.key,
@@ -24,6 +27,7 @@ class SaveDialog extends StatefulWidget {
required this.orderType,
required this.items,
required this.customer,
this.deliveryModel,
});
@override
@@ -46,16 +50,29 @@ class _SaveDialogState extends State<SaveDialog> {
subtitle: 'Simpan pesanan dan bayar nanti',
onTap: () {
context.pop();
showDialog(
context: context,
builder: (context) => PaymentSaveDialog(
selectedTable: widget.selectedTable,
customerName: widget.customerName,
orderType: widget.orderType,
items: widget.items,
customer: widget.customer,
),
);
if (OrderType.dineIn == widget.orderType) {
showDialog(
context: context,
builder: (context) => PaymentSaveDialog(
selectedTable: widget.selectedTable,
customerName: widget.customerName,
orderType: widget.orderType,
items: widget.items,
customer: widget.customer,
),
);
} else {
showDialog(
context: context,
builder: (context) => ConfirmSaveOrderDialog(
delivery: widget.deliveryModel,
customerName: widget.customerName,
orderType: widget.orderType,
items: widget.items,
customer: widget.customer,
),
);
}
}),
SpaceHeight(16.0),
_item(