diff options
Diffstat (limited to 'src/view/com/modals/Modal.tsx')
-rw-r--r-- | src/view/com/modals/Modal.tsx | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/view/com/modals/Modal.tsx b/src/view/com/modals/Modal.tsx index 5d034a19d..df7d7f042 100644 --- a/src/view/com/modals/Modal.tsx +++ b/src/view/com/modals/Modal.tsx @@ -1,5 +1,6 @@ import React, {useRef, useEffect} from 'react' import {StyleSheet} from 'react-native' +import {SafeAreaView} from 'react-native-safe-area-context' import {observer} from 'mobx-react-lite' import BottomSheet from '@gorhom/bottom-sheet' import {useStores} from 'state/index' @@ -92,13 +93,22 @@ export const ModalsContainer = observer(function ModalsContainer() { return null } + if (snapPoints[0] === 'fullscreen') { + return ( + <SafeAreaView style={[styles.fullscreenContainer, pal.view]}> + {element} + </SafeAreaView> + ) + } + return ( <BottomSheet ref={bottomSheetRef} snapPoints={snapPoints} index={store.shell.isModalActive ? 0 : -1} enablePanDownToClose - keyboardBehavior="fillParent" + keyboardBehavior="extend" + keyboardBlurBehavior="restore" backdropComponent={ store.shell.isModalActive ? createCustomBackdrop(onClose) : undefined } @@ -115,4 +125,11 @@ const styles = StyleSheet.create({ borderTopLeftRadius: 10, borderTopRightRadius: 10, }, + fullscreenContainer: { + position: 'absolute', + top: 0, + left: 0, + bottom: 0, + right: 0, + }, }) |