import GracefullyImage from '@components/GracefullyImage' import haptics from '@components/haptics' import Icon from '@components/Icon' import { createBottomTabNavigator } from '@react-navigation/bottom-tabs' import { ScreenTabsStackParamList } from '@utils/navigation/navigators' import { getGlobalStorage, useAccountStorage, useGlobalStorage } from '@utils/storage/actions' import { useTheme } from '@utils/styles/ThemeManager' import React from 'react' import { Platform, View } from 'react-native' import TabLocal from './Local' import TabMe from './Me' import TabNotifications from './Notifications' import TabPublic from './Public' const Tab = createBottomTabNavigator() const ScreenTabs = () => { const { colors } = useTheme() const [accountActive] = useGlobalStorage.string('account.active') const [avatarStatic] = useAccountStorage.string('auth.account.avatar_static') return ( ({ headerShown: false, tabBarActiveTintColor: colors.primaryDefault, tabBarInactiveTintColor: colors.secondary, tabBarShowLabel: false, ...(Platform.OS === 'android' && { tabBarHideOnKeyboard: true }), tabBarStyle: { display: accountActive ? 'flex' : 'none' }, tabBarIcon: ({ focused, color, size }: { focused: boolean color: string size: number }) => { switch (route.name) { case 'Tab-Local': return case 'Tab-Public': return case 'Tab-Compose': return case 'Tab-Notifications': return case 'Tab-Me': return ( ) default: return } } })} > ({ tabPress: e => { e.preventDefault() haptics('Light') navigation.navigate('Screen-Compose') } })} > {() => null} ({ tabLongPress: () => { haptics('Light') navigation.navigate('Tab-Me', { screen: 'Tab-Me-Root' }) navigation.navigate('Tab-Me', { screen: 'Tab-Me-Switch' }) } })} /> ) } export default ScreenTabs