import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native'; import { useFonts } from 'expo-font'; import { Stack } from 'expo-router'; import * as SplashScreen from 'expo-splash-screen'; import { useEffect } from 'react'; import { Platform, useColorScheme } from 'react-native'; import { useSettingsStore } from '@/stores/settingsStore'; // Prevent the splash screen from auto-hiding before asset loading is complete. SplashScreen.preventAutoHideAsync(); export default function RootLayout() { const colorScheme = useColorScheme(); const [loaded, error] = useFonts({ SpaceMono: require('../assets/fonts/SpaceMono-Regular.ttf'), }); const initializeSettings = useSettingsStore(state => state.loadSettings); useEffect(() => { initializeSettings(); }, [initializeSettings]); useEffect(() => { if (loaded || error) { SplashScreen.hideAsync(); if (error) { console.warn(`Error in loading fonts: ${error}`); } } }, [loaded, error]); if (!loaded && !error) { return null; } return ( {Platform.OS !== 'web' && } ); }