@@ -13,12 +13,12 @@ import ONYXKEYS from '@src/ONYXKEYS';
1313import type { Route } from '@src/ROUTES' ;
1414import { isEmptyObject } from '@src/types/utils/EmptyObject' ;
1515
16- type VerifyAccountPageBaseProps = { navigateBackTo ?: Route ; navigateForwardTo ?: Route } ;
16+ type VerifyAccountPageBaseProps = { navigateBackTo ?: Route ; navigateForwardTo ?: Route ; handleClose ?: ( ) => void } ;
1717
1818/**
1919 * This is a base page as RHP for account verification. The back & forward url logic should be handled on per case basis in higher component.
2020 */
21- function VerifyAccountPageBase ( { navigateBackTo, navigateForwardTo} : VerifyAccountPageBaseProps ) {
21+ function VerifyAccountPageBase ( { navigateBackTo, navigateForwardTo, handleClose } : VerifyAccountPageBaseProps ) {
2222 const styles = useThemeStyles ( ) ;
2323 const [ account ] = useOnyx ( ONYXKEYS . ACCOUNT , { canBeMissing : true } ) ;
2424 const [ loginList ] = useOnyx ( ONYXKEYS . LOGIN_LIST , { canBeMissing : true } ) ;
@@ -40,7 +40,7 @@ function VerifyAccountPageBase({navigateBackTo, navigateForwardTo}: VerifyAccoun
4040 [ loginList , contactMethod , formatPhoneNumber ] ,
4141 ) ;
4242
43- const handleClose = useCallback ( ( ) => {
43+ const handleCloseFallback = useCallback ( ( ) => {
4444 Navigation . goBack ( navigateBackTo ) ;
4545 } , [ navigateBackTo ] ) ;
4646
@@ -49,13 +49,14 @@ function VerifyAccountPageBase({navigateBackTo, navigateForwardTo}: VerifyAccoun
4949 if ( ! isUserValidated ) {
5050 return ;
5151 }
52-
5352 if ( navigateForwardTo ) {
5453 Navigation . navigate ( navigateForwardTo , { forceReplace : true } ) ;
55- } else {
54+ } else if ( handleClose ) {
5655 handleClose ( ) ;
56+ } else {
57+ handleCloseFallback ( ) ;
5758 }
58- } , [ isUserValidated , navigateForwardTo , handleClose ] ) ;
59+ } , [ isUserValidated , navigateForwardTo , handleCloseFallback , handleClose ] ) ;
5960
6061 // Once user is validated or the modal is dismissed, we don't want to show empty content.
6162 if ( isUserValidated ) {
@@ -84,7 +85,7 @@ function VerifyAccountPageBase({navigateBackTo, navigateForwardTo}: VerifyAccoun
8485 handleSubmitForm = { handleSubmitForm }
8586 validateError = { ! isEmptyObject ( validateLoginError ) ? validateLoginError : getLatestErrorField ( loginData , 'validateCodeSent' ) }
8687 clearError = { ( ) => clearContactMethodErrors ( contactMethod , ! isEmptyObject ( validateLoginError ) ? 'validateLogin' : 'validateCodeSent' ) }
87- onClose = { handleClose }
88+ onClose = { handleCloseFallback }
8889 />
8990 ) ;
9091}
0 commit comments