import { useEffect } from 'react'; import { Stack } from 'expo-router'; import { useSegments, useRouter } from 'expo-router'; import { View, TouchableOpacity, Text } from 'react-native'; import { MaterialIcons } from '@expo/vector-icons'; import { onAuthStateChange } from '../services/auth'; import { ThemeProvider, useTheme } from '../components/ThemeProvider'; import { Header } from '../components/Menu/Header'; function StackNavigator() { const router = useRouter(); const { theme } = useTheme(); return ( { let title = options.title || ''; let showAddDeck = false; const rightContent = options.headerRight?.({}); if (route.name === 'index') { title = `My Decks (${route.params?.deckCount || 0})`; showAddDeck = true; } return
; }, }} > ); } function RootLayoutContent() { const { theme } = useTheme(); return ( ); } export default function RootLayout() { const segments = useSegments(); const router = useRouter(); useEffect(() => { const unsubscribe = onAuthStateChange((user) => { if (!user && !segments.includes('(auth)')) { router.replace('/login'); } }); return () => { unsubscribe(); }; }, [segments]); return ( ); }