Skip to content

Commit c21a1f5

Browse files
authored
Merge pull request Expensify#76072 from nyomanjyotisa/issue-74809
2 parents 2db051b + 4ae8e1d commit c21a1f5

3 files changed

Lines changed: 21 additions & 2 deletions

File tree

src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ function ReimbursementAccountPage({route, policy, isLoadingPolicy, navigation}:
130130
const currentStep = getInitialCurrentStep();
131131
const [nonUSDBankAccountStep, setNonUSDBankAccountStep] = useState<string | null>(subStepParam ?? null);
132132
const [USDBankAccountStep, setUSDBankAccountStep] = useState<string | null>(subStepParam ?? null);
133+
const [isResettingBankAccount, setIsResettingBankAccount] = useState(false);
133134

134135
function getBankAccountFields(fieldNames: InputID[]): Partial<ACHDataReimbursementAccount> {
135136
return {
@@ -498,7 +499,7 @@ function ReimbursementAccountPage({route, policy, isLoadingPolicy, navigation}:
498499
);
499500
}
500501

501-
if (isNonUSDWorkspace && nonUSDBankAccountStep !== null) {
502+
if (isNonUSDWorkspace && nonUSDBankAccountStep !== null && !isResettingBankAccount) {
502503
return (
503504
<NonUSDVerifiedBankAccountFlow
504505
nonUSDBankAccountStep={nonUSDBankAccountStep}
@@ -538,6 +539,7 @@ function ReimbursementAccountPage({route, policy, isLoadingPolicy, navigation}:
538539
setNonUSDBankAccountStep={setNonUSDBankAccountStep}
539540
setUSDBankAccountStep={setUSDBankAccountStep}
540541
policyID={policyIDParam}
542+
setIsResettingBankAccount={setIsResettingBankAccount}
541543
/>
542544
);
543545
}

src/pages/ReimbursementAccount/VerifiedBankAccountFlowEntryPoint.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ type VerifiedBankAccountFlowEntryPointProps = {
6767

6868
/** Method to set the state of shouldShowContinueSetupButton */
6969
setShouldShowContinueSetupButton?: (shouldShowContinueSetupButton: boolean) => void;
70+
71+
/** Method to set the state of isResettingBankAccount */
72+
setIsResettingBankAccount?: (isResetting: boolean) => void;
7073
};
7174

7275
const bankInfoStepKeys = INPUT_IDS.BANK_INFO_STEP;
@@ -82,6 +85,7 @@ function VerifiedBankAccountFlowEntryPoint({
8285
setNonUSDBankAccountStep,
8386
setUSDBankAccountStep,
8487
setShouldShowContinueSetupButton,
88+
setIsResettingBankAccount,
8589
}: VerifiedBankAccountFlowEntryPointProps) {
8690
const theme = useTheme();
8791
const styles = useThemeStyles();
@@ -303,6 +307,7 @@ function VerifiedBankAccountFlowEntryPoint({
303307
setUSDBankAccountStep={setUSDBankAccountStep}
304308
setNonUSDBankAccountStep={setNonUSDBankAccountStep}
305309
setShouldShowContinueSetupButton={setShouldShowContinueSetupButton}
310+
setIsResettingBankAccount={setIsResettingBankAccount}
306311
/>
307312
)}
308313
</ScreenWrapper>

src/pages/workspace/WorkspaceResetBankAccountModal.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ type WorkspaceResetBankAccountModalProps = {
2929

3030
/** Whether the workspace currency is set to non USD currency */
3131
isNonUSDWorkspace: boolean;
32+
33+
/** Method to set the state of isResettingBankAccount */
34+
setIsResettingBankAccount?: (isResetting: boolean) => void;
3235
};
3336

3437
function WorkspaceResetBankAccountModal({
@@ -38,6 +41,7 @@ function WorkspaceResetBankAccountModal({
3841
setNonUSDBankAccountStep,
3942
isNonUSDWorkspace,
4043
setShouldShowContinueSetupButton,
44+
setIsResettingBankAccount,
4145
}: WorkspaceResetBankAccountModalProps) {
4246
const styles = useThemeStyles();
4347
const {translate} = useLocalize();
@@ -64,6 +68,10 @@ function WorkspaceResetBankAccountModal({
6468

6569
const handleConfirm = () => {
6670
if (isNonUSDWorkspace) {
71+
if (setIsResettingBankAccount) {
72+
setIsResettingBankAccount(true);
73+
}
74+
6775
resetNonUSDBankAccount(policyID, policy?.achAccount, !achData?.bankAccountID);
6876

6977
if (setShouldShowConnectedVerifiedBankAccount) {
@@ -75,8 +83,12 @@ function WorkspaceResetBankAccountModal({
7583
}
7684

7785
if (setNonUSDBankAccountStep) {
78-
setNonUSDBankAccountStep(null);
86+
setNonUSDBankAccountStep(CONST.NON_USD_BANK_ACCOUNT.STEP.COUNTRY);
7987
}
88+
89+
requestAnimationFrame(() => {
90+
setIsResettingBankAccount?.(false);
91+
});
8092
} else {
8193
resetUSDBankAccount(bankAccountID, session, policyID, policy?.achAccount, lastPaymentMethod);
8294

0 commit comments

Comments
 (0)