import FontAwesome from "@expo/vector-icons/FontAwesome"; 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 {baseUrl, useSelectCurrentUserId} from "@terreno/rtk"; import {TerrenoProvider} from "@terreno/ui"; import {Provider} from "react-redux"; import {PersistGate} from "redux-persist/integration/react"; import {useColorScheme} from "@/components/useColorScheme"; import store, {persistor} from "@/store/index"; export {ErrorBoundary} from "expo-router"; export const unstable_settings = { initialRouteName: "(tabs)", }; SplashScreen.preventAutoHideAsync(); export default function RootLayout(): React.ReactElement | null { const [loaded, error] = useFonts({ SpaceMono: require("../assets/fonts/SpaceMono-Regular.ttf"), ...FontAwesome.font, }); useEffect(() => { if (error) { throw error; } }, [error]); useEffect(() => { if (loaded) { SplashScreen.hideAsync(); } }, [loaded]); if (!loaded) { return null; } return ( ); } function RootLayoutNav(): React.ReactElement { const colorScheme = useColorScheme(); const userId = useSelectCurrentUserId(); return ( {!userId ? ( ) : ( )} ); }