-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.js
53 lines (45 loc) · 1.85 KB
/
App.js
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import React, { Fragment } from 'react'
import { StatusBar } from 'react-native'
import 'react-native-gesture-handler'
import '@common/Constants'
import '@network/Fetch'
import '@common/DeviceInfo'
import '@common/Preference'
import { NavigationContainer } from '@react-navigation/native'
import { createNativeStackNavigator } from '@react-navigation/native-stack'
import { Provider } from 'react-redux'
import { SafeAreaProvider } from 'react-native-safe-area-context'
import createStore from '@stores'
import { default as WelcomeScreen } from '@screens/welcome/WelcomeScreen'
import { default as PermissionScreen } from '@screens/welcome/PermissionScreen'
import { default as TabNavigation } from '@screens/TabNavigation'
import { default as SearchScreen } from '@screens/search/SearchScreen'
const App = () => {
const Stack = createNativeStackNavigator()
const store = createStore()
const routeScreen = !'welcome'.getBool() ? 'WelcomeScreen' : 'TabNavigation'
return (
<Fragment>
<StatusBar barStyle={Platform.select({ ios: 'dark-content', android: 'default' })} />
<Provider store={store}>
<SafeAreaProvider>
<NavigationContainer>
<Stack.Navigator
initialRouteName={routeScreen}
screenOptions={{
headerShown: false,
gestureEnabled: false,
presentation: 'fullScreenModal',
}}>
<Stack.Screen name="WelcomeScreen" component={WelcomeScreen} />
<Stack.Screen name="PermissionScreen" component={PermissionScreen} />
<Stack.Screen name="TabNavigation" component={TabNavigation} />
<Stack.Screen name="SearchScreen" component={SearchScreen} />
</Stack.Navigator>
</NavigationContainer>
</SafeAreaProvider>
</Provider>
</Fragment>
)
}
export default App