Skip to content

Commit 8a3aa4f

Browse files
authored
Merge pull request Expensify#79533 from callstack-internal/follow-ups-for-personal-bank-accounts
Follow ups for personal bank account
2 parents a297d92 + bad0d69 commit 8a3aa4f

4 files changed

Lines changed: 26 additions & 30 deletions

File tree

src/pages/AddPersonalBankAccountPage.tsx

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, {useCallback, useContext, useEffect} from 'react';
1+
import React, {useContext, useEffect} from 'react';
22
import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView';
33
import ConfirmationPage from '@components/ConfirmationPage';
44
import HeaderWithBackButton from '@components/HeaderWithBackButton';
@@ -25,7 +25,7 @@ function AddPersonalBankAccountPage() {
2525
const topmostFullScreenRoute = navigationRef.current?.getRootState()?.routes.findLast((route) => isFullScreenName(route.name));
2626
const kycWallRef = useContext(KYCWallContext);
2727

28-
const goBack = useCallback(() => {
28+
const goBack = () => {
2929
switch (topmostFullScreenRoute?.name) {
3030
case NAVIGATORS.SETTINGS_SPLIT_NAVIGATOR:
3131
Navigation.goBack(ROUTES.SETTINGS_WALLET);
@@ -37,23 +37,21 @@ function AddPersonalBankAccountPage() {
3737
Navigation.goBack();
3838
break;
3939
}
40-
}, [topmostFullScreenRoute?.name]);
40+
};
4141

42-
const exitFlow = useCallback(
43-
(shouldContinue = false) => {
44-
const exitReportID = personalBankAccount?.exitReportID;
45-
const onSuccessFallbackRoute = personalBankAccount?.onSuccessFallbackRoute ?? '';
42+
const exitFlow = (shouldContinue = false) => {
43+
const exitReportID = personalBankAccount?.exitReportID;
44+
const onSuccessFallbackRoute = personalBankAccount?.onSuccessFallbackRoute ?? '';
4645

47-
if (exitReportID) {
48-
Navigation.dismissModalWithReport({reportID: exitReportID});
49-
} else if (shouldContinue && onSuccessFallbackRoute) {
50-
continueSetup(kycWallRef, onSuccessFallbackRoute);
51-
} else {
52-
goBack();
53-
}
54-
},
55-
[personalBankAccount?.exitReportID, personalBankAccount?.onSuccessFallbackRoute, goBack, kycWallRef],
56-
);
46+
if (exitReportID) {
47+
Navigation.dismissModalWithReport({reportID: exitReportID});
48+
} else if (shouldContinue && onSuccessFallbackRoute) {
49+
continueSetup(kycWallRef, onSuccessFallbackRoute);
50+
} else {
51+
goBack();
52+
clearPersonalBankAccount();
53+
}
54+
};
5755

5856
useEffect(() => clearPersonalBankAccount, []);
5957

src/pages/settings/Wallet/InternationalDepositAccount/PersonalInfo/substeps/ConfirmationStep.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import useLocalize from '@hooks/useLocalize';
44
import useOnyx from '@hooks/useOnyx';
55
import type {SubStepProps} from '@hooks/useSubStep/types';
66
import {getLatestErrorMessage} from '@libs/ErrorUtils';
7+
import {formatE164PhoneNumber} from '@libs/LoginUtils';
78
import {getCurrentAddress} from '@libs/PersonalDetailsUtils';
8-
import {parsePhoneNumber} from '@libs/PhoneNumber';
99
import {clearPersonalBankAccountErrors} from '@userActions/BankAccounts';
1010
import CONST from '@src/CONST';
1111
import ONYXKEYS from '@src/ONYXKEYS';
@@ -22,6 +22,7 @@ function ConfirmationStep({onNext, onMove, isEditing}: SubStepProps) {
2222
const [bankAccountPersonalDetails] = useOnyx(ONYXKEYS.FORMS.PERSONAL_BANK_ACCOUNT_FORM_DRAFT, {canBeMissing: true});
2323
const [personalBankAccount] = useOnyx(ONYXKEYS.PERSONAL_BANK_ACCOUNT, {canBeMissing: true});
2424
const [plaidData] = useOnyx(ONYXKEYS.PLAID_DATA, {canBeMissing: true});
25+
const [countryCode = CONST.DEFAULT_COUNTRY_CODE] = useOnyx(ONYXKEYS.COUNTRY_CODE, {canBeMissing: false});
2526

2627
const isManual = bankAccountPersonalDetails?.setupType === CONST.BANK_ACCOUNT.SETUP_TYPE.MANUAL;
2728

@@ -32,7 +33,7 @@ function ConfirmationStep({onNext, onMove, isEditing}: SubStepProps) {
3233
const currentAddress = getCurrentAddress(privatePersonalDetails);
3334
const phone = bankAccountPersonalDetails?.phoneNumber ?? privatePersonalDetails?.phoneNumber;
3435
return {
35-
phoneNumber: (phone && parsePhoneNumber(phone, {regionCode: CONST.COUNTRY.US}).number?.significant) ?? '',
36+
phoneNumber: (phone && formatE164PhoneNumber(phone, countryCode)) ?? '',
3637
legalFirstName: bankAccountPersonalDetails?.legalFirstName ?? privatePersonalDetails?.legalFirstName ?? '',
3738
legalLastName: bankAccountPersonalDetails?.legalLastName ?? privatePersonalDetails?.legalLastName ?? '',
3839
addressStreet: bankAccountPersonalDetails?.addressStreet ?? currentAddress?.street ?? '',

src/pages/settings/Wallet/InternationalDepositAccount/PersonalInfo/substeps/ManualBankAccountDetailsStep.tsx

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,6 @@ function ManualBankAccountDetailsStep({onNext, isEditing}: ManualProps) {
2828
const styles = useThemeStyles();
2929
const {inputCallbackRef} = useAutoFocusInput();
3030

31-
const getDefaultValues = () => ({
32-
routingNumber: bankAccountPersonalDetails?.routingNumber,
33-
accountNumber: bankAccountPersonalDetails?.accountNumber,
34-
});
35-
3631
const validate = (values: FormOnyxValues<typeof ONYXKEYS.FORMS.PERSONAL_BANK_ACCOUNT_FORM>): FormInputErrors<typeof ONYXKEYS.FORMS.PERSONAL_BANK_ACCOUNT_FORM> => {
3732
const errors = getFieldRequiredErrors(values, STEP_FIELDS);
3833
const routingNumber = values.routingNumber?.trim();
@@ -59,8 +54,6 @@ function ManualBankAccountDetailsStep({onNext, isEditing}: ManualProps) {
5954
shouldSaveDraft: true,
6055
});
6156

62-
const defaultValues = getDefaultValues();
63-
6457
return (
6558
<FormProvider
6659
formID={ONYXKEYS.FORMS.PERSONAL_BANK_ACCOUNT_FORM}
@@ -79,7 +72,7 @@ function ManualBankAccountDetailsStep({onNext, isEditing}: ManualProps) {
7972
label={translate('bankAccount.routingNumber')}
8073
aria-label={translate('bankAccount.routingNumber')}
8174
role={CONST.ROLE.PRESENTATION}
82-
defaultValue={defaultValues[BANK_INFO_STEP_KEYS.ROUTING_NUMBER]}
75+
value={bankAccountPersonalDetails?.routingNumber ?? ''}
8376
inputMode={CONST.INPUT_MODE.NUMERIC}
8477
shouldSaveDraft
8578
/>
@@ -90,7 +83,7 @@ function ManualBankAccountDetailsStep({onNext, isEditing}: ManualProps) {
9083
label={translate('bankAccount.accountNumber')}
9184
aria-label={translate('bankAccount.accountNumber')}
9285
role={CONST.ROLE.PRESENTATION}
93-
defaultValue={defaultValues[BANK_INFO_STEP_KEYS.ACCOUNT_NUMBER]}
86+
value={bankAccountPersonalDetails?.accountNumber ?? ''}
9487
inputMode={CONST.INPUT_MODE.NUMERIC}
9588
shouldSaveDraft
9689
/>

src/pages/settings/Wallet/InternationalDepositAccount/substeps/AccountFlowEntryPoint.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import React, {useEffect} from 'react';
22
import {View} from 'react-native';
33
import HeaderWithBackButton from '@components/HeaderWithBackButton';
44
import Icon from '@components/Icon';
@@ -17,7 +17,7 @@ import useResponsiveLayout from '@hooks/useResponsiveLayout';
1717
import useTheme from '@hooks/useTheme';
1818
import useThemeStyles from '@hooks/useThemeStyles';
1919
import Navigation from '@navigation/Navigation';
20-
import {updateAddPersonalBankAccountDraft} from '@userActions/BankAccounts';
20+
import {clearPersonalBankAccount, updateAddPersonalBankAccountDraft} from '@userActions/BankAccounts';
2121
import {openExternalLink} from '@userActions/Link';
2222
import CONST from '@src/CONST';
2323
import ONYXKEYS from '@src/ONYXKEYS';
@@ -40,6 +40,10 @@ function AccountFlowEntryPoint({policyName = '', onBackButtonPress}: AccountFlow
4040

4141
const [isPlaidDisabled] = useOnyx(ONYXKEYS.IS_PLAID_DISABLED, {canBeMissing: true});
4242

43+
useEffect(() => {
44+
clearPersonalBankAccount();
45+
}, []);
46+
4347
const handleConnectManually = () => {
4448
updateAddPersonalBankAccountDraft({
4549
setupType: CONST.BANK_ACCOUNT.SETUP_TYPE.MANUAL,

0 commit comments

Comments
 (0)