-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTabNavigator.js
84 lines (73 loc) · 1.78 KB
/
TabNavigator.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
import React from "react";
import {
createBottomTabNavigator,
createStackNavigator
} from "react-navigation";
import HomeScreen from "../screens/HomeScreen";
import SectionScreen from "../screens/SectionScreen";
import { Icon } from "expo";
import CoursesScreen from "../screens/CoursesScreen";
import ProjectsScreen from "../screens/ProjectsScreen";
import VideoScreen from "../screens/VideoScreen";
const activeColor = "#4775f2";
const inactiveColor = "#b8bece";
const HomeStack = createStackNavigator(
{
Home: HomeScreen,
Section: SectionScreen,
Video: VideoScreen
},
{
mode: "modal"
}
);
HomeStack.navigationOptions = ({ navigation }) => {
var tabBarVisible = true;
const routeName = navigation.state.routes[navigation.state.index].routeName;
if (routeName == "Section" || routeName == "Video") {
tabBarVisible = false;
}
return {
tabBarVisible,
tabBarLabel: "Home",
tabBarIcon: ({ focused }) => (
<Icon.Ionicons
name="ios-home"
size={26}
color={focused ? activeColor : inactiveColor}
/>
)
};
};
const CoursesStack = createStackNavigator({
Courses: CoursesScreen
});
CoursesStack.navigationOptions = {
tabBarLabel: "Courses",
tabBarIcon: ({ focused }) => (
<Icon.Ionicons
name="ios-albums"
size={26}
color={focused ? activeColor : inactiveColor}
/>
)
};
const ProjectsStack = createStackNavigator({
Projects: ProjectsScreen
});
ProjectsStack.navigationOptions = {
tabBarLabel: "Projects",
tabBarIcon: ({ focused }) => (
<Icon.Ionicons
name="ios-folder"
size={26}
color={focused ? activeColor : inactiveColor}
/>
)
};
const TabNavigator = createBottomTabNavigator({
HomeStack,
CoursesStack,
ProjectsStack
});
export default TabNavigator;