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

@@ -56,10 +56,11 @@ class CheckoutPage extends HookConsumerWidget {
// Payment method (will be set to first payment term name from API)
final paymentMethod = useState<String>('');
// Price negotiation
final needsNegotiation = useState<bool>(false);
// Price negotiation (ignore_pricing_rule in API)
final ignorePricingRule = useState<bool>(false);
final needsContract = useState(false);
// Contract request (contract_request in API)
final contractRequest = useState<bool>(false);
// Watch API provider for payment terms
final paymentTermsListAsync = ref.watch(paymentTermsListProvider);
@@ -145,8 +146,8 @@ class CheckoutPage extends HookConsumerWidget {
const SizedBox(height: AppSpacing.md),
// Payment Method Section (hidden if negotiation is checked)
if (!needsNegotiation.value)
// Payment Method Section (hidden if price negotiation is checked)
if (!ignorePricingRule.value)
paymentTermsListAsync.when(
data: (paymentTerms) {
// Set default payment method to first term if not set
@@ -220,7 +221,7 @@ class CheckoutPage extends HookConsumerWidget {
),
),
if (!needsNegotiation.value)
if (!ignorePricingRule.value)
const SizedBox(height: AppSpacing.md),
// Discount Code Section
@@ -240,7 +241,7 @@ class CheckoutPage extends HookConsumerWidget {
const SizedBox(height: AppSpacing.md),
// Price Negotiation Section
PriceNegotiationSection(needsNegotiation: needsNegotiation),
PriceNegotiationSection(ignorePricingRule: ignorePricingRule),
const SizedBox(height: AppSpacing.md),
@@ -256,9 +257,9 @@ class CheckoutPage extends HookConsumerWidget {
child: Row(
children: [
Checkbox(
value: needsContract.value,
value: contractRequest.value,
onChanged: (value) {
needsContract.value = value ?? false;
contractRequest.value = value ?? false;
},
activeColor: AppColors.warning,
),
@@ -308,7 +309,8 @@ class CheckoutPage extends HookConsumerWidget {
// Place Order Button
CheckoutSubmitButton(
formKey: formKey,
needsNegotiation: needsNegotiation.value,
ignorePricingRule: ignorePricingRule.value,
contractRequest: contractRequest.value,
needsInvoice: needsInvoice.value,
selectedAddress: selectedAddress.value,
paymentMethod: paymentMethod.value,