import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; import { createStackNavigator } from "@react-navigation/stack"; import type { FC } from "react"; import * as React from "react"; import { Icomoon, IcomoonIcons } from "../components"; import Colors from "../constants/Colors"; import Labels from "../constants/Labels"; import { ArticleDetail, EpdsSurveyScreen, EventDetails, ListArticles, TabAroundMeScreen, TabCalendarScreen, TabHomeScreen, } from "../screens"; import type { BottomTabParamList, TabAroundMeParamList, TabCalendarParamList, TabEpdsParamList, TabHomeParamList, TabItem, } from "../types"; const BottomTab = createBottomTabNavigator(); const BottomTabNavigator: FC = () => { const iconSize = 22; const tabItems: TabItem[] = [ { component: TabHomeNavigator, getIcon: (tintColor, focused) => ( ), name: "tabHome", title: Labels.tabs.homeTitle, }, { component: TabCalendarNavigator, getIcon: (tintColor, focused) => ( ), name: "tabCalendar", title: Labels.tabs.calendarTitle, }, { component: TabEpdsNavigator, getIcon: (tintColor, focused) => ( ), name: "tabFavorites", title: Labels.tabs.testEpds, }, { component: TabAroundMeNavigator, getIcon: (tintColor, focused) => ( ), name: "tabAroundMe", title: Labels.tabs.aroundMeTitle, }, ]; return ( {tabItems.map((tabItem, index) => ( tabItem.getIcon(color, focused), title: tabItem.title, unmountOnBlur: true, }} /> ))} ); }; // Each tab has its own navigation stack, you can read more about this pattern here: // https://reactnavigation.org/docs/tab-based-navigation#a-stack-navigator-for-each-tab const TabHomeStack = createStackNavigator(); const TabHomeNavigator: FC = () => ( ); const TabCalendarStack = createStackNavigator(); const TabCalendarNavigator: FC = () => ( ); const TabEpdsStack = createStackNavigator(); const TabEpdsNavigator: FC = () => ( ); const TabAroundMeStack = createStackNavigator(); const TabAroundMeNavigator: FC = () => ( ); export default BottomTabNavigator;