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 'react-native-reanimated'; import {useColorScheme} from '@/hooks/useColorScheme'; import {AuthContextProvider} from "@/contexts/AuthContext"; import functions from "@react-native-firebase/functions"; import firestore from "@react-native-firebase/firestore"; import auth from "@react-native-firebase/auth"; import {QueryClient, QueryClientProvider} from "react-query"; import {Toast} from "react-native-ui-lib"; // Prevent the splash screen from auto-hiding before asset loading is complete. SplashScreen.preventAutoHideAsync(); const queryClient = new QueryClient() if (__DEV__) { functions().useEmulator('localhost', 5001); firestore().useEmulator("localhost", 5471); auth().useEmulator("http://localhost:9099"); } export default function RootLayout() { const [loaded] = useFonts({ SpaceMono: require('../assets/fonts/SpaceMono-Regular.ttf'), }); useEffect(() => { if (loaded) { SplashScreen.hideAsync(); } }, [loaded]); if (!loaded) { return null; } return ( ); }