xref: /MusicFree/src/entry/index.tsx (revision b4c389f44ac4dad056e7314478fadd2eca82a4b1)
1*b4c389f4Smaotoumaoimport React from "react";
2*b4c389f4Smaotoumaoimport { NavigationContainer } from "@react-navigation/native";
3*b4c389f4Smaotoumaoimport { createNativeStackNavigator } from "@react-navigation/native-stack";
4*b4c389f4Smaotoumaoimport bootstrap from "./bootstrap";
5*b4c389f4Smaotoumaoimport { GestureHandlerRootView } from "react-native-gesture-handler";
6*b4c389f4Smaotoumaoimport Dialogs from "@/components/dialogs";
7*b4c389f4Smaotoumaoimport Panels from "@/components/panels";
8*b4c389f4Smaotoumaoimport PageBackground from "@/components/base/pageBackground";
9*b4c389f4Smaotoumaoimport { SafeAreaProvider } from "react-native-safe-area-context";
10*b4c389f4Smaotoumaoimport Debug from "@/components/debug";
11*b4c389f4Smaotoumaoimport { PortalHost } from "@/components/base/portal";
12*b4c389f4Smaotoumaoimport globalStyle from "@/constants/globalStyle";
13*b4c389f4Smaotoumaoimport Theme from "@/core/theme";
14*b4c389f4Smaotoumaoimport { BootstrapComp } from "./useBootstrap";
15*b4c389f4Smaotoumaoimport { ToastBaseComponent } from "@/components/base/toast";
16*b4c389f4Smaotoumaoimport { StatusBar } from "react-native";
17*b4c389f4Smaotoumaoimport { ReducedMotionConfig, ReduceMotion } from "react-native-reanimated";
18*b4c389f4Smaotoumaoimport { routes } from "@/core/router/routes.tsx";
19ab5f994aSmaotoumao/**
20ab5f994aSmaotoumao * 字体颜色
21ab5f994aSmaotoumao */
22bf6e62f2S猫头猫
23bf6e62f2S猫头猫/**
24bf6e62f2S猫头猫 * 字体颜色
25bf6e62f2S猫头猫 */
26bf6e62f2S猫头猫
2710c78fceS猫头猫StatusBar.setBackgroundColor('transparent');
2810c78fceS猫头猫StatusBar.setTranslucent(true);
2910c78fceS猫头猫
30bf6e62f2S猫头猫bootstrap();
31e7fa3837S猫头猫const Stack = createNativeStackNavigator<any>();
32bf6e62f2S猫头猫
33bf6e62f2S猫头猫export default function Pages() {
34a27adc20S猫头猫    const theme = Theme.useTheme();
35cf2d630eS猫头猫
36bf6e62f2S猫头猫    return (
3772381fc8S猫头猫        <>
3872381fc8S猫头猫            <BootstrapComp />
39ab5f994aSmaotoumao            <ReducedMotionConfig mode={ReduceMotion.Never} />
406cfecf1cS猫头猫            <GestureHandlerRootView style={globalStyle.flex1}>
411c06c799S猫头猫                <SafeAreaProvider>
42*b4c389f4Smaotoumao                    <NavigationContainer theme={theme}>
434060c00aS猫头猫                        <PageBackground />
44bf6e62f2S猫头猫                        <Stack.Navigator
45bf6e62f2S猫头猫                            initialRouteName={routes[0].path}
46bf6e62f2S猫头猫                            screenOptions={{
47bf6e62f2S猫头猫                                headerShown: false,
48bf6e62f2S猫头猫                                animation: 'slide_from_right',
495f52c604S猫头猫                                animationDuration: 100,
50bf6e62f2S猫头猫                            }}>
51bf6e62f2S猫头猫                            {routes.map(route => (
52bf6e62f2S猫头猫                                <Stack.Screen
53bf6e62f2S猫头猫                                    key={route.path}
54bf6e62f2S猫头猫                                    name={route.path}
554060c00aS猫头猫                                    component={route.component}
564060c00aS猫头猫                                />
57bf6e62f2S猫头猫                            ))}
58bf6e62f2S猫头猫                        </Stack.Navigator>
59bf6e62f2S猫头猫
604060c00aS猫头猫                        <Panels />
614060c00aS猫头猫                        <Dialogs />
62ea6d708fS猫头猫                        <Debug />
637a8d024eS猫头猫                        <PortalHost />
64b85f12f7S猫头猫                        <ToastBaseComponent />
65bf6e62f2S猫头猫                    </NavigationContainer>
661c06c799S猫头猫                </SafeAreaProvider>
67bf6e62f2S猫头猫            </GestureHandlerRootView>
6872381fc8S猫头猫        </>
69bf6e62f2S猫头猫    );
70bf6e62f2S猫头猫}
71