import React from 'react';
import {
CommonActions,
NavigationContainer as NavigationContainerBase,
} from '@react-navigation/native';
import FontAwesome5 from 'react-native-vector-icons/FontAwesome5';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { BottomNavigation, useTheme } from 'react-native-paper';
import { Home, Tags, Settings, AddMeme, AddTag } from './screens';
import { darkNavigationTheme, lightNavigationTheme } from './theme';
import { FloatingActionButton } from './components';
import { ROUTE } from './types';
const TabNavigator = () => {
const TabNavigatorBase = createBottomTabNavigator();
const [showFab, setShowFab] = React.useState(true);
return (
<>
(
{
const event = navigation.emit({
type: 'tabPress',
target: route.key,
canPreventDefault: true,
});
if (event.defaultPrevented) {
preventDefault();
} else {
navigation.dispatch({
...CommonActions.navigate(route.name, route.params),
target: state.key,
});
}
setShowFab((route.name as ROUTE) !== ROUTE.SETTINGS);
}}
renderIcon={({ route, focused, color }) => {
const { options } = descriptors[route.key];
if (options.tabBarIcon) {
return options.tabBarIcon({
focused,
color,
size: 22,
});
}
}}
getLabelText={({ route }) => {
const { options } = descriptors[route.key];
return options.title ?? route.name;
}}
/>
)}>
(
),
}}
/>
(
),
}}
/>
(
),
}}
/>
>
);
};
const NavigationContainer = () => {
const StackNavigatorBase = createNativeStackNavigator();
const theme = useTheme();
return (
);
};
export default NavigationContainer;