import React from 'react'; import { View } from 'react-native'; import { SafeAreaView } from 'react-native-safe-area-context'; import { StyleType } from '../../styles'; import JitsiKeyboardAvoidingView from './JitsiKeyboardAvoidingView'; import styles from './styles'; type Props = { /** * Adds bottom padding. */ addBottomPadding: boolean, /** * Additional style to be appended to the KeyboardAvoidingView content container. */ contentContainerStyle?: StyleType, /** * The children component(s) of the Modal, to be rendered. */ children: React.ReactNode, /** * Disabled forced keyboard dismiss? */ disableForcedKeyboardDismiss?: boolean, /** * Optional function that renders a footer component, if needed. */ footerComponent?: Function, /** * Is a text input rendered at the bottom of the screen? */ hasBottomTextInput?: boolean, /** * Is the screen rendering a tab navigator? */ hasTabNavigator?: boolean, /** * Insets for the SafeAreaView. */ safeAreaInsets?: Array, /** * Additional style to be appended to the KeyboardAvoidingView containing the content of the modal. */ style?: StyleType } const JitsiScreen = ({ addBottomPadding, contentContainerStyle, children, disableForcedKeyboardDismiss = false, footerComponent, hasTabNavigator = false, hasBottomTextInput = false, safeAreaInsets = [ 'left', 'right' ], style }: Props) => { const renderContent = () => ( { children } { footerComponent && footerComponent() } ); return ( { renderContent() } ); }; export default JitsiScreen;