| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import React from "react";
- import { createNativeStackNavigator } from "@react-navigation/native-stack";
- import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
- import { getFocusedRouteNameFromRoute } from "@react-navigation/native";
-
- import HomeScreen from "../screens/HomeScreen";
- import Ionicons from "@expo/vector-icons/Ionicons";
- import FavoriteScreen from "../screens/FavoriteScreen";
-
- const Tab = createBottomTabNavigator();
- const Stack = createNativeStackNavigator();
-
- const HomeStack = () => {
- return (
- <Stack.Navigator>
- <Stack.Screen
- name="Home"
- component={HomeScreen}
- options={{ headerShown: false }}
- />
- </Stack.Navigator>
- );
- };
-
- const TabNavigator = () => {
- return (
- <Tab.Navigator
- screenOptions={{
- headerShown: false,
- tabBarShowLabel: false,
- tabBarStyle: { backgroundColor: "#AD40AF" },
- tabBarInactiveTintColor: "#fff",
- tabBarActiveTintColor: "yellow",
- }}
- >
- <Tab.Screen
- name="Home2"
- component={HomeStack}
- options={({ route }) => ({
- tabBarStyle: {
- display: getTabBarVisibility(route),
- backgroundColor: "#AD40AF",
- },
- tabBarIcon: ({ color, size }) => (
- <Ionicons name="home-outline" color={color} size={size} />
- ),
- })}
- />
- <Tab.Screen
- name="Favorite"
- component={FavoriteScreen}
- options={{
- tabBarIcon: ({ color, size }) => (
- <Ionicons name="heart-outline" color={color} size={size} />
- ),
- }}
- />
- </Tab.Navigator>
- );
- };
-
- const getTabBarVisibility = (route) => {
- const routeName = getFocusedRouteNameFromRoute(route) ?? "Feed";
-
- if (routeName === "Details") {
- return "none";
- }
- return "flex";
- };
-
- export default TabNavigator;
|