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