yosadade

router.js

Jul 2nd, 2020
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. import React from 'react';
  2. import {createStackNavigator, TransitionPresets} from '@react-navigation/stack';
  3. import {createBottomTabNavigator} from '@react-navigation/bottom-tabs';
  4. import {createDrawerNavigator} from '@react-navigation/drawer';
  5. import {NavigationContainer} from '@react-navigation/native';
  6.  
  7. import Ionicons from 'react-native-vector-icons/Ionicons';
  8. import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
  9. import Entypo from 'react-native-vector-icons/Entypo';
  10.  
  11. import AboutScreen from '../Tugas15/AboutScreen';
  12. import LoginScreen from '../Tugas15/LoginScreen';
  13. import ProfileScreen from '../Tugas15/ProfileScreen';
  14. import ProjectScreen from './ProjectScreen';
  15. import AddScreen from './AddScreen';
  16.  
  17. const Stack = createStackNavigator();
  18. const Tab = createBottomTabNavigator();
  19. const Drawer = createDrawerNavigator();
  20.  
  21. const MyDrawer = () => {
  22. return (
  23. <Drawer.Navigator>
  24. <Drawer.Screen name="MainApp" component={MainApp} />
  25. <Drawer.Screen name="AboutScreen" component={AboutScreen} />
  26. </Drawer.Navigator>
  27. );
  28. };
  29.  
  30. const MainApp = () => {
  31. return (
  32. <Tab.Navigator
  33. tabBarOptions={{
  34. activeTintColor: '#0BCAD4',
  35. style: {
  36. height: 60,
  37. backgroundColor: '#FFFFFF',
  38. },
  39. labelStyle: {
  40. fontSize: 12,
  41. marginBottom: 10,
  42. fontWeight: 'bold',
  43. },
  44. tabStyle: {
  45. marginTop: 10,
  46. },
  47. }}
  48. screenOptions={({route}) => ({
  49. tabBarIcon: ({color, size}) => {
  50. if (route.name === 'Project') {
  51. return (
  52. <MaterialCommunityIcons
  53. name="code-greater-than-or-equal"
  54. size={size}
  55. color={color}
  56. />
  57. );
  58. } else if (route.name === 'Add') {
  59. return <Ionicons name="ios-add-circle" size={size} color={color} />;
  60. } else if (route.name === 'About') {
  61. return <Entypo name="code" size={size} color={color} />;
  62. }
  63. },
  64. })}>
  65. <Tab.Screen name="Project" component={ProjectScreen} />
  66. <Tab.Screen name="Add" component={AddScreen} />
  67. <Tab.Screen name="About" component={AboutScreen} />
  68. </Tab.Navigator>
  69. );
  70. };
  71.  
  72. const Router = () => {
  73. return (
  74. <NavigationContainer>
  75. <Stack.Navigator
  76. initialRouteName="LoginScreen"
  77. screenOptions={{
  78. headerShown: false,
  79. ...TransitionPresets.SlideFromRightIOS,
  80. }}>
  81. <Stack.Screen name="ProfileScreen" component={ProfileScreen} />
  82. <Stack.Screen name="LoginScreen" component={LoginScreen} />
  83. <Stack.Screen name="AboutScreen" component={AboutScreen} />
  84. <Stack.Screen name="MainApp" component={MainApp} />
  85. </Stack.Navigator>
  86. </NavigationContainer>
  87. );
  88. };
  89.  
  90. export default Router;
Add Comment
Please, Sign In to add comment