feat: sync payment methods
This commit is contained in:
@@ -31,10 +31,10 @@ class PaymentTablePage extends StatefulWidget {
|
||||
final DraftOrderModel? draftOrder;
|
||||
final TableModel? table;
|
||||
const PaymentTablePage({
|
||||
Key? key,
|
||||
super.key,
|
||||
this.draftOrder,
|
||||
this.table,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
State<PaymentTablePage> createState() => _PaymentTablePageState();
|
||||
@@ -98,11 +98,13 @@ class _PaymentTablePageState extends State<PaymentTablePage> {
|
||||
|
||||
// Set a default payment method in case API fails
|
||||
selectedPaymentMethod = PaymentMethod(
|
||||
id: 1,
|
||||
name: 'Cash',
|
||||
description: 'Cash payment',
|
||||
id: "4b1c0d21-c98a-4fc0-a2f9-8d90a0c9d905",
|
||||
organizationId: "3e8b1793-d18b-40c4-a03d-0c6480b630c7",
|
||||
name: "CASH",
|
||||
type: "cash",
|
||||
isActive: true,
|
||||
sortOrder: 1,
|
||||
createdAt: DateTime.tryParse('2025-07-18T03:43:13.857048+07:00'),
|
||||
updatedAt: DateTime.tryParse('2025-07-18T03:43:13.857048+07:00'),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -444,7 +446,7 @@ class _PaymentTablePageState extends State<PaymentTablePage> {
|
||||
),
|
||||
BlocBuilder<CheckoutBloc, CheckoutState>(
|
||||
builder: (context, state) {
|
||||
final tax = state.maybeWhen(
|
||||
state.maybeWhen(
|
||||
orElse: () => 0,
|
||||
loaded: (products,
|
||||
discountModel,
|
||||
@@ -805,41 +807,37 @@ class _PaymentTablePageState extends State<PaymentTablePage> {
|
||||
8.0),
|
||||
)
|
||||
: null,
|
||||
child: Tooltip(
|
||||
message: method.description ??
|
||||
'No description available',
|
||||
child: isSelected
|
||||
? Button.filled(
|
||||
width: double.infinity,
|
||||
height: 50.0,
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
selectedPaymentMethod =
|
||||
method;
|
||||
});
|
||||
},
|
||||
label: method.name
|
||||
?.isNotEmpty ==
|
||||
true
|
||||
? method.name!
|
||||
: 'Unknown',
|
||||
)
|
||||
: Button.outlined(
|
||||
width: double.infinity,
|
||||
height: 50.0,
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
selectedPaymentMethod =
|
||||
method;
|
||||
});
|
||||
},
|
||||
label: method.name
|
||||
?.isNotEmpty ==
|
||||
true
|
||||
? method.name!
|
||||
: 'Unknown',
|
||||
),
|
||||
),
|
||||
child: isSelected
|
||||
? Button.filled(
|
||||
width: double.infinity,
|
||||
height: 50.0,
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
selectedPaymentMethod =
|
||||
method;
|
||||
});
|
||||
},
|
||||
label: method.name
|
||||
?.isNotEmpty ==
|
||||
true
|
||||
? method.name!
|
||||
: 'Unknown',
|
||||
)
|
||||
: Button.outlined(
|
||||
width: double.infinity,
|
||||
height: 50.0,
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
selectedPaymentMethod =
|
||||
method;
|
||||
});
|
||||
},
|
||||
label: method.name
|
||||
?.isNotEmpty ==
|
||||
true
|
||||
? method.name!
|
||||
: 'Unknown',
|
||||
),
|
||||
);
|
||||
}).toList(),
|
||||
);
|
||||
@@ -1052,7 +1050,7 @@ class _PaymentTablePageState extends State<PaymentTablePage> {
|
||||
if (discountModel == null) {
|
||||
return 0;
|
||||
}
|
||||
return discountModel!.value!
|
||||
return discountModel.value!
|
||||
.replaceAll('.00', '')
|
||||
.toIntegerFromText;
|
||||
});
|
||||
@@ -1135,8 +1133,6 @@ class _PaymentTablePageState extends State<PaymentTablePage> {
|
||||
orderType,
|
||||
);
|
||||
|
||||
final totalPrice = subTotal + finalTax;
|
||||
|
||||
return Flexible(
|
||||
child: Button.filled(
|
||||
onPressed: () async {
|
||||
|
||||
Reference in New Issue
Block a user