Skip to content

Commit

Permalink
Merge pull request #51630 from bernhardoj/fix/50285-wallet-page-is-sh…
Browse files Browse the repository at this point in the history
…own-after-refrsh

Fix wallet page opens when refreshing in "Validate your account" page
  • Loading branch information
MarioExpensify authored Nov 27, 2024
2 parents 64d591f + 7133229 commit e8e0091
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 10 deletions.
6 changes: 5 additions & 1 deletion src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,11 @@ const ROUTES = {
SETTINGS_ABOUT: 'settings/about',
SETTINGS_APP_DOWNLOAD_LINKS: 'settings/about/app-download-links',
SETTINGS_WALLET: 'settings/wallet',
SETTINGS_WALLET_VERIFY_ACCOUNT: {route: 'settings/wallet/verify', getRoute: (backTo?: string) => getUrlWithBackToParam('settings/wallet/verify', backTo)},
SETTINGS_WALLET_VERIFY_ACCOUNT: {
route: 'settings/wallet/verify',
getRoute: (backTo?: string, forwardTo?: string) =>
getUrlWithBackToParam(forwardTo ? `settings/wallet/verify?forwardTo=${encodeURIComponent(forwardTo)}` : 'settings/wallet/verify', backTo),
},
SETTINGS_WALLET_DOMAINCARD: {
route: 'settings/wallet/card/:cardID?',
getRoute: (cardID: string) => `settings/wallet/card/${cardID}` as const,
Expand Down
2 changes: 1 addition & 1 deletion src/components/SettlementButton/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ function SettlementButton({

if (iouPaymentType === CONST.IOU.PAYMENT_TYPE.EXPENSIFY || iouPaymentType === CONST.IOU.PAYMENT_TYPE.VBBA) {
if (!isUserValidated) {
Navigation.navigate(ROUTES.SETTINGS_WALLET_VERIFY_ACCOUNT.route);
Navigation.navigate(ROUTES.SETTINGS_WALLET_VERIFY_ACCOUNT.getRoute(Navigation.getActiveRoute()));
return;
}
triggerKYCFlow(event, iouPaymentType);
Expand Down
3 changes: 2 additions & 1 deletion src/libs/Navigation/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,8 @@ type SettingsNavigatorParamList = {
backTo?: Routes;
};
[SCREENS.SETTINGS.PROFILE.NEW_CONTACT_METHOD]: {
backTo: Routes;
backTo?: Routes;
forwardTo?: Routes;
};
[SCREENS.SETTINGS.PREFERENCES.ROOT]: undefined;
[SCREENS.SETTINGS.SUBSCRIPTION.ROOT]: undefined;
Expand Down
2 changes: 1 addition & 1 deletion src/libs/actions/BankAccounts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ function openPersonalBankAccountSetupView(exitReportID?: string, isUserValidated
Onyx.merge(ONYXKEYS.PERSONAL_BANK_ACCOUNT, {exitReportID});
}
if (!isUserValidated) {
Navigation.navigate(ROUTES.SETTINGS_WALLET_VERIFY_ACCOUNT.getRoute(ROUTES.SETTINGS_ADD_BANK_ACCOUNT));
Navigation.navigate(ROUTES.SETTINGS_WALLET_VERIFY_ACCOUNT.getRoute(Navigation.getActiveRoute(), ROUTES.SETTINGS_ADD_BANK_ACCOUNT));
}
Navigation.navigate(ROUTES.SETTINGS_ADD_BANK_ACCOUNT);
});
Expand Down
2 changes: 1 addition & 1 deletion src/pages/settings/Wallet/PaymentMethodList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ function PaymentMethodList({

const onPressItem = useCallback(() => {
if (!isUserValidated) {
Navigation.navigate(ROUTES.SETTINGS_WALLET_VERIFY_ACCOUNT.getRoute(ROUTES.SETTINGS_ADD_BANK_ACCOUNT));
Navigation.navigate(ROUTES.SETTINGS_WALLET_VERIFY_ACCOUNT.getRoute(Navigation.getActiveRoute(), ROUTES.SETTINGS_ADD_BANK_ACCOUNT));
return;
}
onPress();
Expand Down
8 changes: 4 additions & 4 deletions src/pages/settings/Wallet/VerifyAccountPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ function VerifyAccountPage({route}: VerifyAccountPageProps) {
const [validateCodeAction] = useOnyx(ONYXKEYS.VALIDATE_ACTION_CODE);
const [isValidateCodeActionModalVisible, setIsValidateCodeActionModalVisible] = useState(true);

const navigateBackTo = route?.params?.backTo;
const navigateForwardTo = route.params?.forwardTo;

useBeforeRemove(() => setIsValidateCodeActionModalVisible(false));

Expand Down Expand Up @@ -61,12 +61,12 @@ function VerifyAccountPage({route}: VerifyAccountPageProps) {

setIsValidateCodeActionModalVisible(false);

if (navigateBackTo) {
Navigation.navigate(navigateBackTo, CONST.NAVIGATION.TYPE.UP);
if (navigateForwardTo) {
Navigation.navigate(navigateForwardTo, CONST.NAVIGATION.TYPE.UP);
} else {
Navigation.goBack();
}
}, [isUserValidated, navigateBackTo]);
}, [isUserValidated, navigateForwardTo]);

// Once user is validated or the modal is dismissed, we don't want to show empty content.
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
Expand Down
4 changes: 3 additions & 1 deletion src/pages/settings/Wallet/WalletPage/WalletPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,9 @@ function WalletPage({shouldListenForResize = false}: WalletPageProps) {
ref={buttonRef as ForwardedRef<View>}
onPress={() => {
if (!isUserValidated) {
Navigation.navigate(ROUTES.SETTINGS_WALLET_VERIFY_ACCOUNT.getRoute(ROUTES.SETTINGS_ENABLE_PAYMENTS));
Navigation.navigate(
ROUTES.SETTINGS_WALLET_VERIFY_ACCOUNT.getRoute(ROUTES.SETTINGS_WALLET, ROUTES.SETTINGS_ENABLE_PAYMENTS),
);
return;
}
Navigation.navigate(ROUTES.SETTINGS_ENABLE_PAYMENTS);
Expand Down

0 comments on commit e8e0091

Please sign in to comment.