aboutsummaryrefslogtreecommitdiff
path: root/src/routes/tabs/NavigationBar.tsx
blob: 9cfbe4bf083593526dd369bd3a9d7286e26dd997 (plain)
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
import {createBottomTabNavigator} from '@react-navigation/bottom-tabs';
import React from 'react';
import {NavigationIcon} from '../../components';
import {Home, Notifications, Upload} from '../../screens';
import Profile from '../profile/Profile';

const Tabs = createBottomTabNavigator();

const NavigationBar: React.FC = () => {
  return (
    <Tabs.Navigator
      screenOptions={({route}) => ({
        tabBarIcon: ({focused}) => {
          if (route.name === 'Home') {
            return focused ? (
              <NavigationIcon tab="Home" disabled={false} />
            ) : (
              <NavigationIcon tab="Home" disabled={true} />
            );
          } else if (route.name === 'Search') {
            return focused ? (
              <NavigationIcon tab="Search" disabled={false} />
            ) : (
              <NavigationIcon tab="Search" disabled={true} />
            );
          } else if (route.name === 'Upload') {
            return focused ? (
              <NavigationIcon tab="Upload" disabled={false} />
            ) : (
              <NavigationIcon tab="Upload" disabled={true} />
            );
          } else if (route.name === 'Notifications') {
            return focused ? (
              <NavigationIcon tab="Notifications" disabled={false} />
            ) : (
              <NavigationIcon tab="Notifications" disabled={true} />
            );
          } else if (route.name === 'Profile') {
            return focused ? (
              <NavigationIcon tab="Profile" disabled={false} />
            ) : (
              <NavigationIcon tab="Profile" disabled={true} />
            );
          }
        },
      })}
      initialRouteName="Profile"
      tabBarOptions={{
        showLabel: false,
        style: {
          backgroundColor: 'transparent',
          position: 'absolute',
          borderTopWidth: 0,
          left: 0,
          right: 0,
          bottom: 0,
        },
      }}>
      <Tabs.Screen name="Home" component={Home} />
      <Tabs.Screen
        name="Search"
        component={Profile}
        initialParams={{isProfileView: true}}
      />
      <Tabs.Screen name="Upload" component={Upload} />
      <Tabs.Screen name="Notifications" component={Notifications} />
      <Tabs.Screen
        name="Profile"
        component={Profile}
        initialParams={{isProfileView: false}}
      />
    </Tabs.Navigator>
  );
};

export default NavigationBar;