_layout.tsx 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import {
  2. DarkTheme,
  3. DefaultTheme,
  4. ThemeProvider,
  5. } from "@react-navigation/native";
  6. import { Stack } from "expo-router";
  7. import { StatusBar } from "expo-status-bar";
  8. import "react-native-reanimated";
  9. import { PrivacyPopup } from "@/components/PrivacyPopup";
  10. import { AuthProvider } from "@/contexts/AuthContext";
  11. import { useColorScheme } from "@/hooks/use-color-scheme";
  12. import { LogBox } from "react-native";
  13. import { PaperProvider } from "react-native-paper";
  14. // Disable all yellow box warnings
  15. LogBox.ignoreAllLogs(true);
  16. export const unstable_settings = {
  17. anchor: "(tabs)",
  18. };
  19. export default function RootLayout() {
  20. const colorScheme = useColorScheme();
  21. return (
  22. <PaperProvider>
  23. <AuthProvider>
  24. <ThemeProvider
  25. value={colorScheme === "dark" ? DarkTheme : DefaultTheme}
  26. >
  27. <Stack>
  28. <Stack.Screen
  29. name="(tabs)"
  30. options={{ headerShown: false, title: "" }}
  31. />
  32. <Stack.Screen name="login" options={{ headerShown: false }} />
  33. <Stack.Screen
  34. name="product/[id]"
  35. options={{ headerShown: false }}
  36. />
  37. <Stack.Screen name="address" options={{ headerShown: false }} />
  38. <Stack.Screen name="orders" options={{ headerShown: false }} />
  39. <Stack.Screen
  40. name="award-detail"
  41. options={{ headerShown: false }}
  42. />
  43. <Stack.Screen
  44. name="award-detail-yfs"
  45. options={{ headerShown: false }}
  46. />
  47. <Stack.Screen name="boxInBox" options={{ headerShown: false }} />
  48. <Stack.Screen name="dimension" options={{ headerShown: false }} />
  49. <Stack.Screen name="coupon" options={{ headerShown: false }} />
  50. <Stack.Screen name="store" options={{ headerShown: false }} />
  51. <Stack.Screen name="magic" options={{ headerShown: false }} />
  52. <Stack.Screen name="integral" options={{ headerShown: false }} />
  53. <Stack.Screen name="message" options={{ headerShown: false }} />
  54. <Stack.Screen name="exchange" options={{ headerShown: false }} />
  55. <Stack.Screen name="feedback" options={{ headerShown: false }} />
  56. <Stack.Screen name="setting" options={{ headerShown: false }} />
  57. <Stack.Screen name="agreement" options={{ headerShown: false }} />
  58. <Stack.Screen name="profile" options={{ headerShown: false }} />
  59. <Stack.Screen name="test" options={{ headerShown: false }} />
  60. <Stack.Screen name="lottery" options={{ headerShown: false }} />
  61. <Stack.Screen
  62. name="modal"
  63. options={{ presentation: "modal", title: "Modal" }}
  64. />
  65. </Stack>
  66. <StatusBar style="auto" />
  67. </ThemeProvider>
  68. </AuthProvider>
  69. <PrivacyPopup />
  70. </PaperProvider>
  71. );
  72. }