import { DarkTheme, DefaultTheme, ThemeProvider, } from '@react-navigation/native'; import { useFonts } from 'expo-font'; import { Stack, useGlobalSearchParams, usePathname } from 'expo-router'; import * as SplashScreen from 'expo-splash-screen'; import { StatusBar } from 'expo-status-bar'; import { useEffect } from 'react'; import { useColorScheme } from '@/hooks/useColorScheme'; import { GluestackUIProvider } from '@/components/ui/gluestack-ui-provider'; import { updateCurrentApplicationScreen } from 'tianji-react-native'; import 'react-native-reanimated'; import '../global.css'; // Prevent the splash screen from auto-hiding before asset loading is complete. SplashScreen.preventAutoHideAsync(); export default function RootLayout() { const colorScheme = useColorScheme(); const [loaded] = useFonts({ SpaceMono: require('../assets/fonts/SpaceMono-Regular.ttf'), }); const pathname = usePathname(); const params = useGlobalSearchParams(); useEffect(() => { if (loaded) { SplashScreen.hideAsync(); } }, [loaded]); useEffect(() => { updateCurrentApplicationScreen(pathname, params); }, [pathname, params]); if (!loaded) { return null; } return ( ); }