import { useEffect } from 'react'; import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native'; import { Stack } from 'expo-router'; import { StatusBar } from 'expo-status-bar'; import * as SplashScreen from 'expo-splash-screen'; import 'react-native-reanimated'; import { useColorScheme } from '@/hooks/use-color-scheme'; import { useIsOnboardingComplete } from '@/src/features/onboarding/hooks/useOnboarding'; // Prevent splash screen from auto-hiding SplashScreen.preventAutoHideAsync(); export const unstable_settings = { anchor: '(tabs)', }; export default function RootLayout() { const colorScheme = useColorScheme(); const isOnboardingComplete = useIsOnboardingComplete(); // Hide splash screen once we have a definite state useEffect(() => { if (isOnboardingComplete !== undefined) { SplashScreen.hideAsync(); } }, [isOnboardingComplete]); // Show nothing while Zustand hydrates from AsyncStorage if (isOnboardingComplete === undefined) { return null; } return ( ); }