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 (
);
}