1- import { findFocusedRoute } from '@react-navigation/native' ;
21import { useContext , useState } from 'react' ;
32import type { AppProps } from './App' ;
3+ import CONFIG from './CONFIG' ;
44import CONST from './CONST' ;
55import { signInAfterTransitionFromOldDot } from './libs/actions/Session' ;
6- import Navigation , { navigationRef } from './libs/Navigation/Navigation' ;
7- import type { Route } from './ROUTES' ;
8- import ROUTES from './ROUTES' ;
9- import SCREENS from './SCREENS' ;
106import SplashScreenStateContext from './SplashScreenStateContext' ;
117
12- let isInitialNavigationHandled = false ;
13-
14- function handleHybridUrlNavigation ( url : Route ) {
15- isInitialNavigationHandled = true ;
16- const parsedUrl = Navigation . parseHybridAppUrl ( url ) ;
17-
18- Navigation . isNavigationReady ( ) . then ( ( ) => {
19- if ( parsedUrl . startsWith ( `/${ ROUTES . SHARE_ROOT } ` ) ) {
20- const focusRoute = findFocusedRoute ( navigationRef . getRootState ( ) ) ;
21- if ( focusRoute ?. name === SCREENS . SHARE . SHARE_DETAILS || focusRoute ?. name === SCREENS . SHARE . SUBMIT_DETAILS ) {
22- Navigation . goBack ( ROUTES . SHARE_ROOT ) ;
23- return ;
24- }
25- }
26- Navigation . navigate ( parsedUrl ) ;
27- } ) ;
28- }
29-
30- function HybridAppHandler ( { url, hybridAppSettings} : AppProps ) {
8+ function HybridAppHandler ( { hybridAppSettings} : AppProps ) {
319 const [ signInHandled , setSignInHandled ] = useState ( false ) ;
3210 const { setSplashScreenState} = useContext ( SplashScreenStateContext ) ;
3311
34- if ( ! url || ! hybridAppSettings || signInHandled ) {
12+ if ( ! CONFIG . IS_HYBRID_APP || ! hybridAppSettings || signInHandled ) {
3513 return null ;
3614 }
3715
3816 signInAfterTransitionFromOldDot ( hybridAppSettings ) . then ( ( ) => {
39- if ( ! isInitialNavigationHandled ) {
40- handleHybridUrlNavigation ( url ) ;
41- }
4217 setSplashScreenState ( CONST . BOOT_SPLASH_STATE . READY_TO_BE_HIDDEN ) ;
4318 setSignInHandled ( true ) ;
4419 } ) ;
@@ -49,4 +24,3 @@ function HybridAppHandler({url, hybridAppSettings}: AppProps) {
4924HybridAppHandler . displayName = 'HybridAppHandler' ;
5025
5126export default HybridAppHandler ;
52- export { handleHybridUrlNavigation }
0 commit comments