import { BottomTabNavigationOptions, createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import { DefaultTheme, NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator, NativeStackNavigationOptions } from '@react-navigation/native-stack'; import React from 'react'; import { useAuth } from '@/auth/AuthContext'; import About from '@/modules/about/About'; import EventList from '@/modules/events/EventList'; import Login from '@/modules/login/Login'; import Membership from '@/modules/membership/Membership'; import UserDelete from '@/modules/membership/UserDelete'; import UserRegister from '@/modules/register/UserRegister'; import Settings from '@/modules/settings/Settings'; import SettingsHeaderButton from '@/modules/settings/SettingsHeaderButton'; import theme from '@/theme'; import type { EventStackParamList, HomeTabParamList, UserStackParamList } from '@/types/navigation'; import IconEvent from '@assets/icons/event.svg'; import IconInfo from '@assets/icons/information-circle.svg'; import IconPerson from '@assets/icons/person.svg'; // This looks ugly, even though it's a recommended style from the branding profile. // TODO: Change this // also TODO: make sure battery indicator etc. is visible const defaultNavigationStyle = { headerTintColor: theme.colors.white, headerTitleAlign: 'center', headerStyle: { backgroundColor: theme.colors.chateauBlue, }, } as const; const EventStack = createNativeStackNavigator(); const EventStackScreen = () => ( ); // Scene background for screens that don't paint their own const navigationTheme = { ...DefaultTheme, colors: { ...DefaultTheme.colors, background: theme.background.backgroundColor }, }; type HeaderRightType = NativeStackNavigationOptions['headerRight']; const SettingsHeaderRight: HeaderRightType = ({ tintColor }) => ; const UserStack = createNativeStackNavigator(); const UserStackScreen = () => { const { isAuthenticated } = useAuth(); return ( ); }; type TabBarIconType = BottomTabNavigationOptions['tabBarIcon']; const HomeTabs = createBottomTabNavigator(); const EventIcon: TabBarIconType = ({ color, size }) => ; const UserIcon: TabBarIconType = ({ color, size }) => ; const AboutIcon: TabBarIconType = ({ color, size }) => ; const Navigation = () => ( ); export default Navigation;