_layout.tsx 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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 name="certification" options={{ headerShown: false }} />
  62. <Stack.Screen
  63. name="modal"
  64. options={{ presentation: "modal", title: "Modal" }}
  65. />
  66. </Stack>
  67. <StatusBar style="auto" />
  68. </ThemeProvider>
  69. </AuthProvider>
  70. <PrivacyPopup />
  71. </PaperProvider>
  72. );
  73. }