trigger onPressCancel on modal cancel

This commit is contained in:
Samuel Newman
2024-04-16 22:40:55 +01:00
parent a46f70d46c
commit 35b04921bd
2 changed files with 41 additions and 29 deletions
+20 -10
View File
@@ -3,12 +3,17 @@ import {Modal} from 'react-native'
import {observer} from 'mobx-react-lite'
import {useComposerState} from 'state/shell/composer'
import {ComposePost} from '../com/composer/Composer'
import {
Outlet as PortalOutlet,
Provider as PortalProvider,
} from '#/components/Portal'
import {ComposePost, useComposerCancelRef} from '../com/composer/Composer'
export const Composer = observer(function ComposerImpl({}: {
winHeight: number
}) {
const state = useComposerState()
const ref = useComposerCancelRef()
return (
<Modal
@@ -16,15 +21,20 @@ export const Composer = observer(function ComposerImpl({}: {
accessibilityViewIsModal
visible={!!state}
presentationStyle="formSheet"
animationType="slide">
<ComposePost
replyTo={state?.replyTo}
onPost={state?.onPost}
quote={state?.quote}
mention={state?.mention}
text={state?.text}
imageUris={state?.imageUris}
/>
animationType="slide"
onRequestClose={() => ref.current?.onPressCancel()}>
<PortalProvider>
<ComposePost
cancelRef={ref}
replyTo={state?.replyTo}
onPost={state?.onPost}
quote={state?.quote}
mention={state?.mention}
text={state?.text}
imageUris={state?.imageUris}
/>
<PortalOutlet />
</PortalProvider>
</Modal>
)
})