import { Stack } from 'expo-router'; import { StatusBar } from 'expo-status-bar'; import { SafeAreaProvider } from 'react-native-safe-area-context'; import { Text, View } from 'react-native'; import { useEffect } from 'react'; import { useAuthStore } from '../store/authStore'; import { useDownloadStore } from '../store/downloadStore'; import { useSettingsStore } from '../store/settingsStore'; import { useTheme } from '../utils/theme'; import { MiniPlayer } from '../components/MiniPlayer'; import { LiveMiniPlayer } from '../components/LiveMiniPlayer'; import * as Sentry from '@sentry/react-native'; import { ErrorBoundary } from '@sentry/react-native'; Sentry.init({ dsn: process.env.EXPO_PUBLIC_SENTRY_DSN ?? '', enabled: !__DEV__, tracesSampleRate: 0.05, environment: process.env.EXPO_PUBLIC_APP_ENV ?? 'production', }); function RootLayout() { const restore = useAuthStore(s => s.restore); const loadDownloads = useDownloadStore(s => s.loadFromStorage); const restoreSettings = useSettingsStore(s => s.restore); const darkMode = useSettingsStore(s => s.darkMode); useEffect(() => { restore(); loadDownloads(); restoreSettings(); }, []); return ( 发生错误,请重启 App}> ); } export default Sentry.wrap(RootLayout);