1import React from 'react'; 2import {NavigationContainer} from '@react-navigation/native'; 3import {createNativeStackNavigator} from '@react-navigation/native-stack'; 4import bootstrap from './bootstrap'; 5import {routes} from './router'; 6import {GestureHandlerRootView} from 'react-native-gesture-handler'; 7import Dialogs from '@/components/dialogs'; 8import Toast from 'react-native-toast-message'; 9import Panels from '@/components/panels'; 10import PageBackground from '@/components/base/pageBackground'; 11import {SafeAreaProvider} from 'react-native-safe-area-context'; 12import toastConfig from '@/components/base/toast'; 13import Debug from '@/components/debug'; 14import {ImageViewComponent} from '@/components/imageViewer'; 15import {PortalHost} from '@/components/base/portal'; 16import globalStyle from '@/constants/globalStyle'; 17import Theme from '@/core/theme'; 18import {BootstrapComp} from './useBootstrap'; 19 20/** 21 * 字体颜色 22 */ 23 24bootstrap(); 25const Stack = createNativeStackNavigator<any>(); 26 27export default function Pages() { 28 const theme = Theme.useTheme(); 29 30 return ( 31 <> 32 <BootstrapComp /> 33 <GestureHandlerRootView style={globalStyle.flex1}> 34 <SafeAreaProvider> 35 <NavigationContainer theme={theme}> 36 <PageBackground /> 37 <Stack.Navigator 38 initialRouteName={routes[0].path} 39 screenOptions={{ 40 statusBarColor: 'transparent', 41 statusBarTranslucent: true, 42 headerShown: false, 43 animation: 'slide_from_right', 44 animationDuration: 100, 45 }}> 46 {routes.map(route => ( 47 <Stack.Screen 48 key={route.path} 49 name={route.path} 50 component={route.component} 51 /> 52 ))} 53 </Stack.Navigator> 54 55 <Panels /> 56 <Dialogs /> 57 <ImageViewComponent /> 58 <Toast config={toastConfig} /> 59 <Debug /> 60 <PortalHost /> 61 </NavigationContainer> 62 </SafeAreaProvider> 63 </GestureHandlerRootView> 64 </> 65 ); 66} 67