This repository has been archived by the owner on Oct 4, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNavigation.js
117 lines (104 loc) · 3.24 KB
/
Navigation.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
import React, { Component } from 'react';
import Icon from '@expo/vector-icons/Ionicons';
import { createSwitchNavigator, createAppContainer } from 'react-navigation';
import { createDrawerNavigator } from 'react-navigation-drawer';
import { createStackNavigator } from 'react-navigation-stack';
import { createBottomTabNavigator } from 'react-navigation-tabs';
import WelcomeScreen from './screens/WelcomeScreen';
import DashboardScreen from './screens/DashboardScreen';
import Detail from './screens/Detail';
import Profile from './screens/Profile';
import Setting from './screens/Setting';
import Feed from './screens/Feed';
const FeedStackNavigator = createStackNavigator({
Feed: {
screen: Feed,
navigationOptions: ({ navigation }) => {
return {
headerTitle: 'Feed',
headerLeft: (
<Icon
style={{ paddingLeft: 10 }}
onPress={() => navigation.openDrawer()}
name='md-menu'
size={30} />
)
}
}
},
Detail: {
screen: Detail
}
}, {
defaultNavigationOptions: {
gesturesEnabled: false
}
})
const ProfileStackNavigator = createStackNavigator({
Profile: {
screen: Profile,
navigationOptions: ({ navigation }) => {
return {
headerTitle: 'Profile',
headerLeft:
<Icon
style={{ paddingLeft: 10 }}
onPress={() => navigation.openDrawer()}
name='md-menu'
size={30} />
}
}
}
})
const SettingStackNavigator = createStackNavigator({
Setting: {
screen: Setting,
navigationOptions: ({ navigation }) => {
return {
headerTitle: 'Setting',
headerLeft: (
<Icon
style={{ paddingLeft: 10 }}
onPress={() => navigation.openDrawer()}
name='md-menu'
size={30} />
)
}
}
}
})
const DashboardTabNavigator = createBottomTabNavigator({
FeedStackNavigator,
ProfileStackNavigator,
SettingStackNavigator
}, {
navigationOptions: ({ navigation }) => {
const { routeName } = navigation.state.routes[navigation.state.index];
return {
header: null,
headerTitle: routeName
};
}
})
const DashboardStackNavigator = createStackNavigator({
DashboardTabNavigator: DashboardTabNavigator
}, {
defaultNavigationOptions: ({ navigation }) => {
return {
headerLeft: <Icon
style={{ paddingLeft: 10 }}
onPress={() => navigation.openDrawer()}
name='md-menu'
size={30} />
};
}
});
const AppDrawerNavigator = createDrawerNavigator({
Dashboard: { screen: DashboardStackNavigator }
});
const AppSwitchNavigator = createSwitchNavigator({
Welcome: { screen: WelcomeScreen },
Dashboard: { screen: AppDrawerNavigator }
});
const AppContainer = createAppContainer(AppSwitchNavigator);
export default AppContainer;