// @flow 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 = { /** * Additional style to be appended to the KeyboardAvoidingView content container. */ contentContainerStyle?: StyleType, /** * The children component(s) of the Modal, to be rendered. */ children: React$Node, /** * 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, /** * Is the keyboard already dismissible? */ keyboardAlreadyDismissible?: 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 = ({ contentContainerStyle, children, footerComponent, hasTabNavigator = false, hasBottomTextInput = false, keyboardAlreadyDismissible = false, safeAreaInsets = [ 'left', 'right' ], style }: Props) => ( {children} { footerComponent && footerComponent() } ); export default JitsiScreen;