32 lines
1.9 KiB
Markdown
32 lines
1.9 KiB
Markdown
## 1. Wallet Recharge Confirmation Submit Guard
|
|
|
|
- [x] 1.1 Add a dedicated submitting state for the wallet recharge confirmation flow
|
|
- [x] 1.2 Ignore repeated taps while `confirmRecharge` is already running
|
|
- [x] 1.3 Bind the confirmation button state to the submitting state and restore it on every exit path
|
|
|
|
## 2. Package Payment Confirmation Submit Guard
|
|
|
|
- [x] 2.1 Add a dedicated submitting state for the package payment confirmation flow
|
|
- [x] 2.2 Ignore repeated taps while `confirmPay` is already running
|
|
- [x] 2.3 Bind the confirmation button state to the submitting state and restore it on every exit path
|
|
|
|
## 3. Order List Immediate Payment Submit Guard
|
|
|
|
- [x] 3.1 Add a dedicated submitting state for order list immediate payment
|
|
- [x] 3.2 Ignore repeated taps while `handleOrderPayment` is already running for the current payment flow
|
|
- [x] 3.3 Bind the order list immediate payment button state to the submitting state and restore it on every exit path
|
|
|
|
## 4. Wallet Recharge Order Immediate Payment Submit Guard
|
|
|
|
- [x] 4.1 Add a dedicated submitting state for wallet recharge order immediate payment
|
|
- [x] 4.2 Ignore repeated taps while `handleRechargePayment` is already running for the current payment flow
|
|
- [x] 4.3 Bind the recharge order immediate payment button state to the submitting state and restore it on every exit path
|
|
|
|
## 5. Regression Verification
|
|
|
|
- [x] 5.1 Verify repeated taps only trigger one effective submit in the wallet recharge modal
|
|
- [x] 5.2 Verify repeated taps only trigger one effective submit in the package payment modal
|
|
- [x] 5.3 Verify repeated taps only trigger one effective submit in the order list immediate payment flow
|
|
- [x] 5.4 Verify repeated taps only trigger one effective submit in the wallet recharge order immediate payment flow
|
|
- [x] 5.5 Verify users can retry after validation failure, payment cancel, payment failure, list refresh, and modal reopen
|