aboutsummaryrefslogtreecommitdiffstats
path: root/apps/mobile/app/_layout.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'apps/mobile/app/_layout.tsx')
-rw-r--r--apps/mobile/app/_layout.tsx13
1 files changed, 10 insertions, 3 deletions
diff --git a/apps/mobile/app/_layout.tsx b/apps/mobile/app/_layout.tsx
index 3f9e5575..ab0f9c52 100644
--- a/apps/mobile/app/_layout.tsx
+++ b/apps/mobile/app/_layout.tsx
@@ -2,13 +2,16 @@ import "@/globals.css";
import "expo-dev-client";
import { useEffect } from "react";
+import { Platform } from "react-native";
import { GestureHandlerRootView } from "react-native-gesture-handler";
import { KeyboardProvider } from "react-native-keyboard-controller";
+import { SafeAreaProvider } from "react-native-safe-area-context";
import { useRouter } from "expo-router";
import { Stack } from "expo-router/stack";
import { ShareIntentProvider, useShareIntent } from "expo-share-intent";
import { StatusBar } from "expo-status-bar";
import { StyledStack } from "@/components/navigation/stack";
+import SplashScreenController from "@/components/SplashScreenController";
import { Providers } from "@/lib/providers";
import { useColorScheme, useInitialAndroidBarSync } from "@/lib/useColorScheme";
import { cn } from "@/lib/utils";
@@ -30,9 +33,13 @@ export default function RootLayout() {
}, [hasShareIntent]);
return (
- <>
- <KeyboardProvider statusBarTranslucent navigationBarTranslucent>
+ <SafeAreaProvider>
+ <KeyboardProvider
+ statusBarTranslucent={Platform.OS !== "android" ? true : undefined}
+ navigationBarTranslucent={Platform.OS !== "android" ? true : undefined}
+ >
<NavThemeProvider value={NAV_THEME[colorScheme]}>
+ <SplashScreenController />
<StyledStack
layout={(props) => {
return (
@@ -86,6 +93,6 @@ export default function RootLayout() {
key={`root-status-bar-${isDarkColorScheme ? "light" : "dark"}`}
style={isDarkColorScheme ? "light" : "dark"}
/>
- </>
+ </SafeAreaProvider>
);
}