order success

This commit is contained in:
Phuoc Nguyen
2025-11-24 17:28:17 +07:00
parent 1851d60038
commit c3b5653420
9 changed files with 55 additions and 34 deletions

View File

@@ -20,7 +20,8 @@ class CheckoutSubmitButton extends HookConsumerWidget {
const CheckoutSubmitButton({
super.key,
required this.formKey,
required this.needsNegotiation,
required this.ignorePricingRule,
required this.contractRequest,
required this.needsInvoice,
required this.selectedAddress,
required this.paymentMethod,
@@ -30,7 +31,8 @@ class CheckoutSubmitButton extends HookConsumerWidget {
});
final GlobalKey<FormState> formKey;
final bool needsNegotiation;
final bool ignorePricingRule;
final bool contractRequest;
final bool needsInvoice;
final Address? selectedAddress;
final String paymentMethod;
@@ -62,7 +64,7 @@ class CheckoutSubmitButton extends HookConsumerWidget {
}
},
style: ElevatedButton.styleFrom(
backgroundColor: needsNegotiation
backgroundColor: ignorePricingRule
? AppColors.warning
: AppColors.primaryBlue,
foregroundColor: Colors.white,
@@ -73,7 +75,7 @@ class CheckoutSubmitButton extends HookConsumerWidget {
),
),
child: Text(
needsNegotiation ? 'Gửi yêu cầu đàm phán' : 'Đặt hàng',
ignorePricingRule ? 'Gửi yêu cầu đàm phán' : 'Đặt hàng',
style: const TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
@@ -122,7 +124,8 @@ class CheckoutSubmitButton extends HookConsumerWidget {
deliveryAddress: deliveryAddressData,
paymentMethod: paymentMethod,
needsInvoice: needsInvoice,
needsNegotiation: needsNegotiation,
ignorePricingRule: ignorePricingRule,
contractRequest: contractRequest,
notes: notes,
).future);
@@ -131,7 +134,7 @@ class CheckoutSubmitButton extends HookConsumerWidget {
result['orderId'] as String? ??
'DH${DateTime.now().millisecondsSinceEpoch.toString().substring(7)}';
if (needsNegotiation) {
if (ignorePricingRule) {
// Navigate to order success page with negotiation flag
if (context.mounted) {
Navigator.of(context).pop();

View File

@@ -13,8 +13,8 @@ import 'package:worker/core/theme/colors.dart';
/// Allows user to request price negotiation instead of direct order.
class PriceNegotiationSection extends HookWidget {
const PriceNegotiationSection({super.key, required this.needsNegotiation});
final ValueNotifier<bool> needsNegotiation;
const PriceNegotiationSection({super.key, required this.ignorePricingRule});
final ValueNotifier<bool> ignorePricingRule;
@override
Widget build(BuildContext context) {
@@ -29,9 +29,9 @@ class PriceNegotiationSection extends HookWidget {
child: Row(
children: [
Checkbox(
value: needsNegotiation.value,
value: ignorePricingRule.value,
onChanged: (value) {
needsNegotiation.value = value ?? false;
ignorePricingRule.value = value ?? false;
},
activeColor: AppColors.warning,
),