_layout.tsx 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native';
  2. import { Stack } from 'expo-router';
  3. import { StatusBar } from 'expo-status-bar';
  4. import 'react-native-reanimated';
  5. import { AuthProvider } from '@/contexts/AuthContext';
  6. import { useColorScheme } from '@/hooks/use-color-scheme';
  7. import { PaperProvider } from 'react-native-paper';
  8. export const unstable_settings = {
  9. anchor: '(tabs)',
  10. };
  11. export default function RootLayout() {
  12. const colorScheme = useColorScheme();
  13. return (
  14. <PaperProvider>
  15. <AuthProvider>
  16. <ThemeProvider value={colorScheme === 'dark' ? DarkTheme : DefaultTheme}>
  17. <Stack>
  18. <Stack.Screen name="(tabs)" options={{ headerShown: false }} />
  19. <Stack.Screen name="login" options={{ headerShown: false }} />
  20. <Stack.Screen name="product/[id]" options={{ headerShown: false }} />
  21. <Stack.Screen name="address" options={{ headerShown: false }} />
  22. <Stack.Screen name="orders" options={{ headerShown: false }} />
  23. <Stack.Screen name="award-detail" options={{ headerShown: false }} />
  24. <Stack.Screen name="award-detail-yfs" options={{ headerShown: false }} />
  25. <Stack.Screen name="boxInBox" options={{ headerShown: false }} />
  26. <Stack.Screen name="weal" options={{ headerShown: false }} />
  27. <Stack.Screen name="coupon" options={{ headerShown: false }} />
  28. <Stack.Screen name="store" options={{ headerShown: false }} />
  29. <Stack.Screen name="magic" options={{ headerShown: false }} />
  30. <Stack.Screen name="integral" options={{ headerShown: false }} />
  31. <Stack.Screen name="message" options={{ headerShown: false }} />
  32. <Stack.Screen name="exchange" options={{ headerShown: false }} />
  33. <Stack.Screen name="feedback" options={{ headerShown: false }} />
  34. <Stack.Screen name="setting" options={{ headerShown: false }} />
  35. <Stack.Screen name="agreement" options={{ headerShown: false }} />
  36. <Stack.Screen name="profile" options={{ headerShown: false }} />
  37. <Stack.Screen name="test" options={{ headerShown: false }} />
  38. <Stack.Screen name="modal" options={{ presentation: 'modal', title: 'Modal' }} />
  39. </Stack>
  40. <StatusBar style="auto" />
  41. </ThemeProvider>
  42. </AuthProvider>
  43. </PaperProvider>
  44. );
  45. }