yosadade

router.js

Jul 3rd, 2020
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 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 initialRouteName="LoginScreen">
  24. <Drawer.Screen name="MainApp" component={MainApp} />
  25. <Drawer.Screen name="AboutScreen" component={AboutScreen} />
  26. <Drawer.Screen name="LoginScreen" component={LoginScreen} />
  27. </Drawer.Navigator>
  28. );
  29. };
  30.  
  31. const MainApp = () => {
  32. return (
  33. <Tab.Navigator
  34. tabBarOptions={{
  35. activeTintColor: '#0BCAD4',
  36. style: {
  37. height: 60,
  38. backgroundColor: '#FFFFFF',
  39. },
  40. labelStyle: {
  41. fontSize: 12,
  42. marginBottom: 10,
  43. fontWeight: 'bold',
  44. },
  45. tabStyle: {
  46. marginTop: 10,
  47. },
  48. }}
  49. screenOptions={({route}) => ({
  50. tabBarIcon: ({color, size}) => {
  51. if (route.name === 'Project') {
  52. return (
  53. <MaterialCommunityIcons
  54. name="code-greater-than-or-equal"
  55. size={size}
  56. color={color}
  57. />
  58. );
  59. } else if (route.name === 'Add') {
  60. return <Ionicons name="ios-add-circle" size={size} color={color} />;
  61. } else if (route.name === 'About') {
  62. return <Entypo name="code" size={size} color={color} />;
  63. }
  64. },
  65. })}>
  66. <Tab.Screen name="Project" component={ProjectScreen} />
  67. <Tab.Screen name="Add" component={AddScreen} />
  68. <Tab.Screen name="About" component={AboutScreen} />
  69. </Tab.Navigator>
  70. );
  71. };
  72.  
  73. const Router = () => {
  74. return (
  75. <NavigationContainer>
  76. {/* <Stack.Navigator
  77. initialRouteName="LoginScreen"
  78. screenOptions={{
  79. headerShown: false,
  80. ...TransitionPresets.SlideFromRightIOS,
  81. }}>
  82. <Stack.Screen name="ProfileScreen" component={ProfileScreen} />
  83. <Stack.Screen name="LoginScreen" component={LoginScreen} />
  84. <Stack.Screen name="AboutScreen" component={AboutScreen} />
  85. <Stack.Screen name="MainApp" component={MainApp} />
  86. </Stack.Navigator> */}
  87. <MyDrawer />
  88. </NavigationContainer>
  89. );
  90. };
  91.  
  92. export default Router;
Add Comment
Please, Sign In to add comment