_layout.tsx 2.8 KB

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