feat: order with payment

This commit is contained in:
efrilm
2025-08-03 21:21:48 +07:00
parent 5d74ed0bed
commit afc030f13f
7 changed files with 636 additions and 9 deletions
@@ -2,11 +2,14 @@
import 'dart:developer';
import 'package:enaklo_pos/core/components/dashed_divider.dart';
import 'package:enaklo_pos/core/components/flushbar.dart';
import 'package:enaklo_pos/core/extensions/build_context_ext.dart';
import 'package:enaklo_pos/presentation/home/bloc/order_form/order_form_bloc.dart';
import 'package:enaklo_pos/presentation/home/dialog/save_dialog.dart';
import 'package:enaklo_pos/presentation/home/models/order_type.dart';
import 'package:enaklo_pos/presentation/home/models/product_quantity.dart';
import 'package:enaklo_pos/presentation/home/widgets/confirm_payment_title.dart';
import 'package:enaklo_pos/presentation/success/pages/success_order_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
@@ -895,10 +898,50 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
),
),
SpaceWidth(12),
Expanded(
child: Button.filled(
onPressed: () {},
label: 'Bayar',
BlocListener<OrderFormBloc, OrderFormState>(
listener: (lcontext, state) {
state.maybeWhen(
orElse: () {},
success: (data) {
context
.pushReplacement(SuccessOrderPage(
order: data,
));
},
error: (message) => AppFlushbar.showError(
context,
message,
),
);
},
child: BlocBuilder<OrderFormBloc,
OrderFormState>(
builder: (context, state) {
return Expanded(
child: state.maybeMap(
orElse: () => Button.filled(
onPressed: () {
context.read<OrderFormBloc>().add(
OrderFormEvent.create(
items: items,
customerName:
customerController
.text,
orderType: orderType,
tableNumber: widget.table
?.tableName ??
'',
),
);
},
label: 'Bayar',
),
loading: (_) => Center(
child: CircularProgressIndicator(),
),
),
);
},
),
),
],