diff --git a/src/app/_layout.tsx b/src/app/_layout.tsx
index ecce622..68f9cef 100644
--- a/src/app/_layout.tsx
+++ b/src/app/_layout.tsx
@@ -15,7 +15,8 @@ import * as SplashScreen from 'expo-splash-screen';
import { StatusBar } from 'expo-status-bar';
import { useEffect } from 'react';
import { Appearance, Pressable, View, useColorScheme as useRNColorScheme } from 'react-native';
-import { SafeAreaProvider } from 'react-native-safe-area-context';
+import FlashMessage from 'react-native-flash-message';
+import { SafeAreaProvider, useSafeAreaInsets } from 'react-native-safe-area-context';
SplashScreen.preventAutoHideAsync().catch(() => {});
@@ -38,6 +39,17 @@ function BackHeader({ onBack }: { onBack: () => void }) {
);
}
+/**
+ * Global mount for `showMessage()` (update checks, download notifications,
+ * domain switch). Without a in the tree those toasts are
+ * silently dropped. Must live inside SafeAreaProvider; `statusBarHeight`
+ * keeps top-positioned messages below the status bar.
+ */
+function GlobalFlashMessage() {
+ const insets = useSafeAreaInsets();
+ return ;
+}
+
export default function RootLayout() {
const [theme] = useThemeConfig();
const systemScheme = useRNColorScheme();
@@ -111,6 +123,7 @@ export default function RootLayout() {
+
);