Rewrite the post composer as a modal

This commit is contained in:
Paul Frazee 2022-09-05 14:16:48 -05:00
parent 41bbe2b60b
commit cb310ab1c1
12 changed files with 207 additions and 144 deletions

View file

@ -5,8 +5,11 @@ import BottomSheet from '@gorhom/bottom-sheet'
import {useStores} from '../../../state'
import {createCustomBackdrop} from '../util/BottomSheetCustomBackdrop'
import * as models from '../../../state/models/shell'
import * as LinkActionsModal from './LinkActions'
import * as SharePostModal from './SharePost.native'
import * as ComposePostModal from './ComposePost'
export const Modal = observer(function Modal() {
const store = useStores()
@ -28,10 +31,25 @@ export const Modal = observer(function Modal() {
let snapPoints, element
if (store.shell.activeModal?.name === 'link-actions') {
snapPoints = LinkActionsModal.snapPoints
element = <LinkActionsModal.Component {...store.shell.activeModal} />
element = (
<LinkActionsModal.Component
{...(store.shell.activeModal as models.LinkActionsModel)}
/>
)
} else if (store.shell.activeModal?.name === 'share-post') {
snapPoints = SharePostModal.snapPoints
element = <SharePostModal.Component {...store.shell.activeModal} />
element = (
<SharePostModal.Component
{...(store.shell.activeModal as models.SharePostModel)}
/>
)
} else if (store.shell.activeModal?.name === 'compose-post') {
snapPoints = ComposePostModal.snapPoints
element = (
<ComposePostModal.Component
{...(store.shell.activeModal as models.ComposePostModel)}
/>
)
} else {
return <View />
}
@ -41,6 +59,7 @@ export const Modal = observer(function Modal() {
ref={bottomSheetRef}
snapPoints={snapPoints}
enablePanDownToClose
keyboardBehavior="fillParent"
backdropComponent={createCustomBackdrop(onClose)}
onChange={onShareBottomSheetChange}>
{element}