import React, {useEffect} from 'react'; import {useNavigation} from '@react-navigation/native'; import _ from 'lodash'; import {IRoutes} from '@components/CoachMarkBottomTab/type'; import {state} from '@components/CoachMarkBottomTab/data'; import {SCAN} from '@constants/navigation/app-bottom-tab'; import { Container, Tab, Title, IconWrapper, Highlighter, } from '@styles/components/coach-mark-bottom-tab'; interface IProps { onHide: () => void; setRoutes: (routes: IRoutes[]) => void; } const CoachMarkBottomTab: React.FC = ({onHide, setRoutes}) => { const navigation: any = useNavigation(); useEffect(() => { setRoutes(state.routes); }); return ( {state.routes.map((route: IRoutes, index: number) => { const label = route.tabBarLabel; const isFocused = state.index === index; const onPress = () => { onHide(); navigation.navigate({name: route.name, merge: true}); }; const Icon = _.isFunction(route?.tabBarIcon) ? route?.tabBarIcon : null; const isScan = route.name === SCAN.SCREEN; return ( {isFocused && } {Icon && ( )} {label} ); })} ); }; export default CoachMarkBottomTab;