import React from "react"; import { Platform, View } from "react-native"; import { SafeAreaView, Edge } from "react-native-safe-area-context"; import { StatusBar } from "expo-status-bar"; import { useColorScheme } from "react-native"; import type { StatusBarStyle } from "expo-status-bar"; interface ScreenWrapperProps { children: React.ReactNode; /** Safe area edges to apply (e.g. ["top", "bottom"]) */ edges?: Edge[]; /** Optional background color for the screen */ backgroundColor?: string; /** Optional tailwind / nativewind className for inner content */ className?: string; /** Override status bar style; defaults based on device color scheme */ statusBarStyle?: StatusBarStyle; } export function ScreenWrapper({ children, edges = ["top", "bottom"], backgroundColor = "#ffffff", className, statusBarStyle, }: ScreenWrapperProps) { const scheme = useColorScheme(); const resolvedStatusBarStyle: StatusBarStyle = statusBarStyle ?? (scheme === "dark" ? "light" : "dark"); return ( {children} ); } export default ScreenWrapper;