import * as React from 'react'; import { Platform, StatusBar, StatusBarStyle, View } from 'react-native'; import { SafeAreaView } from '../components/ui'; import { useIsFocused } from '@react-navigation/native'; import { getColor } from './style-utils'; interface TopNavigationProps { children: React.ReactNode; backgroundColor?: string; aosTopSafePadding?: boolean; className?: any; barStyle?: StatusBarStyle | undefined; } const TopNavigation = React.forwardRef( ( { children, aosTopSafePadding = true, backgroundColor = '#000000', className, barStyle = 'dark-content', }, ref, ) => { const isFocused = useIsFocused(); const Container = Platform.OS === 'ios' ? SafeAreaView : View; const statusBarHeight = Platform.OS === 'android' ? StatusBar.currentHeight || 0 : 0; React.useEffect(() => { if (isFocused) { if (Platform.OS === 'android') { StatusBar.setBackgroundColor(getColor(backgroundColor)); } StatusBar.setBarStyle(barStyle); } }, [isFocused, backgroundColor, barStyle]); return ( {children} ); }, ); export default TopNavigation;