-
Notifications
You must be signed in to change notification settings - Fork 0
/
Navigation.js
114 lines (106 loc) · 3.17 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
import React from 'react'
import { createAppContainer, createSwitchNavigator } from 'react-navigation'
import { createStackNavigator } from 'react-navigation-stack'
import { createBottomTabNavigator} from 'react-navigation-tabs'
import Ionicons from 'react-native-vector-icons/Ionicons';
import LoadingScreen from './screens/LoadingScreen'
import LoginScreen from './screens/LoginScreen'
import HomeScreenContainer from './containers/HomeScreen';
import RegisterScreen from './screens/RegisterScreen'
import MessageScreen from './screens/MessageScreen'
import NotificationScreen from './screens/NotificationScreen'
import PostScreen from './screens/PostScreen'
import ProfileScreen from './screens/ProfileScreen'
// import * as firebase from 'firebase'
// import FireBaseKeys from './config.js'
// var firebaseConfig = FireBaseKeys;
// firebase.initializeApp(firebaseConfig);
const AppContainer = createStackNavigator(
{
default: createBottomTabNavigator(
{
Home: {
screen: HomeScreenContainer,
navigationOptions: {
tabBarIcon: ({tintColor}) => <Ionicons name='ios-home' size={24} color={tintColor}></Ionicons>
}
},
Message: {
screen: MessageScreen,
navigationOptions: {
tabBarIcon: ({tintColor}) => <Ionicons name='ios-chatboxes' size={24} color={tintColor}></Ionicons>
}
},
Post: {
screen: PostScreen,
navigationOptions: {
tabBarIcon: ({tintColor}) => (
<Ionicons
name='ios-add-circle'
size={48}
color='#E9446A'
style = {{
shadowColor: '#E9446A',
shadowOffset: { width: 0, height: 0},
shadowRadius: 10,
shadowOpacity: 0.3
}}
></Ionicons>
)
}
},
Notification: {
screen: NotificationScreen,
navigationOptions: {
tabBarIcon: ({tintColor}) => <Ionicons name='ios-notifications' size={24} color={tintColor}></Ionicons>
}
},
Profile: {
screen: ProfileScreen,
navigationOptions: {
tabBarIcon: ({tintColor}) => <Ionicons name='ios-person' size={24} color={tintColor}></Ionicons>
}
}
},
{
defaultNavigationOptions: {
tabBarOnPress: ({navigation, defaultHandler}) => {
if (navigation.state.key === 'Post') {
navigation.navigate('postModal')
} else {
defaultHandler()
}
}
},
tabBarOptions: {
activeTintColor: '#161F3D',
inactiveTintColor: '#B8BBC4',
showLabel: false
}
}
),
postModal: {
screen: PostScreen
}
},
{
mode: 'modal',
headerMode: 'none'
}
)
const AuthStack = createStackNavigator({
Login : LoginScreen,
Register : RegisterScreen
})
export default createAppContainer(
createSwitchNavigator(
{
Loading: LoadingScreen,
App: AppContainer,
Auth: AuthStack
},
{
initialRouteName: 'Loading'
}
)
)