-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.js
118 lines (111 loc) · 2.45 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import React from 'react'
import { SafeAreaView, StyleSheet } from 'react-native'
import {
createStackNavigator,
createDrawerNavigator,
} from 'react-navigation'
import Home from './containers/Home'
import SingleStation from './containers/SingleStation'
import MetroMap from './components/MetroMap'
import MapButton from './components/MapButton'
import Support from './components/Support'
import MenuButton from './components/MenuButton'
import TrainButton from './components/TrainButton'
import {
COLOR_PRIMARY,
HEADER_COLOR_BACKGROUND,
} from './constants/styles'
const RootStack = createStackNavigator(
{
Home: {
screen: Home,
},
SingleStation: {
screen: SingleStation,
},
},
{
initialRouteName: 'Home',
navigationOptions: {
headerTitle: 'MetroApp',
headerBackTitle: 'Back',
headerTitleStyle: {
color: COLOR_PRIMARY,
},
headerStyle: {
backgroundColor: HEADER_COLOR_BACKGROUND,
},
headerRight: <MapButton />,
headerForceInset: { top: 'never', bottom: 'never' },
},
},
)
const MapStack = createStackNavigator(
{
MetroMap: {
screen: MetroMap,
},
},
{
initialRouteName: 'MetroMap',
navigationOptions: {
headerTitle: 'Metro Map',
headerBackTitle: 'Back',
headerTitleStyle: {
color: COLOR_PRIMARY,
},
headerStyle: {
backgroundColor: HEADER_COLOR_BACKGROUND,
},
headerLeft: <MenuButton />,
headerRight: <TrainButton />,
headerForceInset: { top: 'never', bottom: 'never' },
},
},
)
const SupportStack = createStackNavigator(
{
Support: {
screen: Support,
},
},
{
initialRouteName: 'Support',
navigationOptions: {
headerTitle: 'Support',
headerBackTitle: 'Back',
headerTitleStyle: {
color: COLOR_PRIMARY,
},
headerStyle: {
backgroundColor: HEADER_COLOR_BACKGROUND,
},
headerLeft: <MenuButton />,
headerRight: <TrainButton />,
headerForceInset: { top: 'never', bottom: 'never' },
},
},
)
const Main = createDrawerNavigator({
Home: {
screen: RootStack,
},
'Metro Map': {
screen: MapStack,
},
Support: {
screen: SupportStack,
},
});
const App = () => (
<SafeAreaView style={styles.safeArea}>
<Main />
</SafeAreaView>
)
const styles = StyleSheet.create({
safeArea: {
flex: 1,
backgroundColor: HEADER_COLOR_BACKGROUND,
},
})
export default App