11import { useRoute } from '@react-navigation/native' ;
2- import React , { useCallback , useMemo } from 'react' ;
2+ import React from 'react' ;
33import type { OnyxEntry } from 'react-native-onyx' ;
44import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator' ;
55import HeaderWithBackButton from '@components/HeaderWithBackButton' ;
@@ -10,6 +10,7 @@ import useRootNavigationState from '@hooks/useRootNavigationState';
1010import useSubPage from '@hooks/useSubPage' ;
1111import { clearCorpayBankAccountFields } from '@libs/actions/BankAccounts' ;
1212import { clearDraftValues } from '@libs/actions/FormActions' ;
13+ import getActiveTabName from '@libs/Navigation/helpers/getActiveTabName' ;
1314import { isFullScreenName } from '@libs/Navigation/helpers/isNavigatorName' ;
1415import Navigation from '@libs/Navigation/Navigation' ;
1516import type { PlatformStackRouteProp } from '@libs/Navigation/PlatformStackNavigation/types' ;
@@ -76,16 +77,13 @@ function InternationalDepositAccountContent({
7677} : InternationalDepositAccountContentProps ) {
7778 const { translate} = useLocalize ( ) ;
7879
79- const fieldsMap = useMemo ( ( ) => getFieldsMap ( corpayFields ) , [ corpayFields ] ) ;
80+ const fieldsMap = getFieldsMap ( corpayFields ) ;
8081
81- const values = useMemo (
82- ( ) => getSubstepValues ( privatePersonalDetails , corpayFields , bankAccountList , draftValues , country , fieldsMap ) ,
83- [ privatePersonalDetails , corpayFields , bankAccountList , draftValues , country , fieldsMap ] ,
84- ) ;
82+ const values = getSubstepValues ( privatePersonalDetails , corpayFields , bankAccountList , draftValues , country , fieldsMap ) ;
8583
86- const initialAccountHolderDetailsValues = useMemo ( ( ) => getInitialPersonalDetailsValues ( privatePersonalDetails ) , [ privatePersonalDetails ] ) ;
84+ const initialAccountHolderDetailsValues = getInitialPersonalDetailsValues ( privatePersonalDetails ) ;
8785
88- const startFrom = useMemo ( ( ) => getInitialSubstep ( values , fieldsMap ) , [ fieldsMap , values ] ) ;
86+ const startFrom = getInitialSubstep ( values , fieldsMap ) ;
8987
9088 const skipAccountTypeStep = isEmptyObject ( fieldsMap [ CONST . CORPAY_FIELDS . PAGE_NAME . ACCOUNT_TYPE ] ) ;
9189
@@ -95,33 +93,31 @@ function InternationalDepositAccountContent({
9593
9694 const route = useRoute < PlatformStackRouteProp < SettingsNavigatorParamList , typeof SCREENS . SETTINGS . ADD_BANK_ACCOUNT > > ( ) ;
9795 const topmostFullScreenRoute = useRootNavigationState ( ( state ) => state ?. routes . findLast ( ( r ) => isFullScreenName ( r . name ) ) ) ;
96+ const activeTab = getActiveTabName ( topmostFullScreenRoute ) ;
9897
99- const goBack = useCallback (
100- ( shouldIgnoreBackToParam = false ) => {
101- if ( backTo && ! shouldIgnoreBackToParam ) {
102- Navigation . goBack ( backTo ) ;
103- return ;
104- }
105- switch ( topmostFullScreenRoute ?. name ) {
106- case NAVIGATORS . SETTINGS_SPLIT_NAVIGATOR :
107- Navigation . goBack ( ROUTES . SETTINGS_WALLET ) ;
108- break ;
109- case NAVIGATORS . REPORTS_SPLIT_NAVIGATOR :
110- Navigation . closeRHPFlow ( ) ;
111- break ;
112- default :
113- Navigation . goBack ( ) ;
114- break ;
115- }
116- } ,
117- [ backTo , topmostFullScreenRoute ?. name ] ,
118- ) ;
98+ const goBack = ( shouldIgnoreBackToParam = false ) => {
99+ if ( backTo && ! shouldIgnoreBackToParam ) {
100+ Navigation . goBack ( backTo ) ;
101+ return ;
102+ }
103+ switch ( activeTab ) {
104+ case NAVIGATORS . SETTINGS_SPLIT_NAVIGATOR :
105+ Navigation . goBack ( ROUTES . SETTINGS_WALLET ) ;
106+ break ;
107+ case NAVIGATORS . REPORTS_SPLIT_NAVIGATOR :
108+ Navigation . closeRHPFlow ( ) ;
109+ break ;
110+ default :
111+ Navigation . goBack ( ) ;
112+ break ;
113+ }
114+ } ;
119115
120- const handleFinishStep = useCallback ( ( ) => {
116+ const handleFinishStep = ( ) => {
121117 clearDraftValues ( ONYXKEYS . FORMS . INTERNATIONAL_BANK_ACCOUNT_FORM ) ;
122118 clearCorpayBankAccountFields ( ) ;
123119 goBack ( backTo ?. includes ( ROUTES . SETTINGS_BANK_ACCOUNT_PURPOSE ) ) ;
124- } , [ goBack , backTo ] ) ;
120+ } ;
125121
126122 const { CurrentPage, isEditing, nextPage, prevPage, pageIndex, moveTo, isRedirecting} = useSubPage < CustomSubPageProps > ( {
127123 pages,
@@ -155,13 +151,13 @@ function InternationalDepositAccountContent({
155151
156152 useAndroidBackButtonHandler ( handleBackButtonPress ) ;
157153
158- const handleNextScreen = useCallback ( ( ) => {
154+ const handleNextScreen = ( ) => {
159155 if ( isEditing ) {
160156 goBackToConfirmStep ( ) ;
161157 return ;
162158 }
163159 nextPage ( ) ;
164- } , [ isEditing , goBackToConfirmStep , nextPage ] ) ;
160+ } ;
165161
166162 return (
167163 < ScreenWrapper
0 commit comments