import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native'; import { createDrawerNavigator } from '@react-navigation/drawer'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; import { useFonts } from 'expo-font'; import { Stack } from 'expo-router'; import { StatusBar } from 'expo-status-bar'; import 'react-native-reanimated'; import { useColorScheme } from '@/hooks/useColorScheme'; import SettingsScreen from './SettingsScreen'; import { IconSymbol } from '@/components/ui/IconSymbol'; import { TouchableOpacity } from 'react-native'; import { Colors } from '@/constants/Colors'; import NullComponent from '@/components/NullComponent'; const Drawer = createDrawerNavigator(); const RootStack = createNativeStackNavigator(); function TabsNavigator() { return ( ); } function DrawerNavigator() { return ( ({ title: 'Settings', headerShown: false, drawerLabel: 'Settings', drawerIcon: ({ color }) => ( ), })} listeners={({ navigation }) => ({ drawerItemPress: (e) => { e.preventDefault(); // Navigate to the Settings screen in the root stack navigation.getParent()?.navigate('Settings'); navigation.dispatch({ type: 'CLOSE_DRAWER' }); }, })} /> ); } export default function RootLayout() { const colorScheme = useColorScheme(); const [loaded] = useFonts({ SpaceMono: require('../assets/fonts/SpaceMono-Regular.ttf'), }); if (!loaded) { return null; } return ( ({ headerBackVisible: false, gestureEnabled: false, headerTitle: 'Settings', headerLeft: () => ( { navigation.goBack() }} style={{ marginRight: 15, }} > ), })} /> ); }