-
Notifications
You must be signed in to change notification settings - Fork 2.8k
/
index.tsx
31 lines (25 loc) · 852 Bytes
/
index.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import React, {lazy, memo, Suspense} from 'react';
import lazyRetry from '@src/utils/lazyRetry';
const AuthScreens = lazy(() => lazyRetry(() => import('./AuthScreens')));
const PublicScreens = lazy(() => lazyRetry(() => import('./PublicScreens')));
type AppNavigatorProps = {
/** If we have an authToken this is true */
authenticated: boolean;
};
function AppNavigator({authenticated}: AppNavigatorProps) {
if (authenticated) {
// These are the protected screens and only accessible when an authToken is present
return (
<Suspense fallback={null}>
<AuthScreens />
</Suspense>
);
}
return (
<Suspense fallback={null}>
<PublicScreens />
</Suspense>
);
}
AppNavigator.displayName = 'AppNavigator';
export default memo(AppNavigator);