···9import {createCustomBackdrop} from '../util/BottomSheetCustomBackdrop'
10import * as AddAppPassword from './AddAppPasswords'
11import * as AltImageModal from './AltImage'
12-import * as EditImageModal from './AltImage'
13import * as ChangeEmailModal from './ChangeEmail'
14import * as ChangeHandleModal from './ChangeHandle'
15import * as ChangePasswordModal from './ChangePassword'
···78 } else if (activeModal?.name === 'alt-text-image') {
79 snapPoints = AltImageModal.snapPoints
80 element = <AltImageModal.Component {...activeModal} />
81- } else if (activeModal?.name === 'edit-image') {
82- snapPoints = AltImageModal.snapPoints
83- element = <EditImageModal.Component {...activeModal} />
84 } else if (activeModal?.name === 'change-handle') {
85 snapPoints = ChangeHandleModal.snapPoints
86 element = <ChangeHandleModal.Component {...activeModal} />
···9import {createCustomBackdrop} from '../util/BottomSheetCustomBackdrop'
10import * as AddAppPassword from './AddAppPasswords'
11import * as AltImageModal from './AltImage'
012import * as ChangeEmailModal from './ChangeEmail'
13import * as ChangeHandleModal from './ChangeHandle'
14import * as ChangePasswordModal from './ChangePassword'
···77 } else if (activeModal?.name === 'alt-text-image') {
78 snapPoints = AltImageModal.snapPoints
79 element = <AltImageModal.Component {...activeModal} />
00080 } else if (activeModal?.name === 'change-handle') {
81 snapPoints = ChangeHandleModal.snapPoints
82 element = <ChangeHandleModal.Component {...activeModal} />
+1-8
src/view/com/modals/Modal.web.tsx
···15import * as CreateOrEditListModal from './CreateOrEditList'
16import * as CropImageModal from './crop-image/CropImage.web'
17import * as DeleteAccountModal from './DeleteAccount'
18-import * as EditImageModal from './EditImage'
19import * as EditProfileModal from './EditProfile'
20import * as InviteCodesModal from './InviteCodes'
21import * as ContentLanguagesSettingsModal from './lang-settings/ContentLanguagesSettings'
···54 }
5556 const onPressMask = () => {
57- if (
58- modal.name === 'crop-image' ||
59- modal.name === 'edit-image' ||
60- modal.name === 'alt-text-image'
61- ) {
62 return // dont close on mask presses during crop
63 }
64 closeModal()
···95 element = <PostLanguagesSettingsModal.Component />
96 } else if (modal.name === 'alt-text-image') {
97 element = <AltTextImageModal.Component {...modal} />
98- } else if (modal.name === 'edit-image') {
99- element = <EditImageModal.Component {...modal} />
100 } else if (modal.name === 'verify-email') {
101 element = <VerifyEmailModal.Component {...modal} />
102 } else if (modal.name === 'change-email') {
···15import * as CreateOrEditListModal from './CreateOrEditList'
16import * as CropImageModal from './crop-image/CropImage.web'
17import * as DeleteAccountModal from './DeleteAccount'
018import * as EditProfileModal from './EditProfile'
19import * as InviteCodesModal from './InviteCodes'
20import * as ContentLanguagesSettingsModal from './lang-settings/ContentLanguagesSettings'
···53 }
5455 const onPressMask = () => {
56+ if (modal.name === 'crop-image' || modal.name === 'alt-text-image') {
000057 return // dont close on mask presses during crop
58 }
59 closeModal()
···90 element = <PostLanguagesSettingsModal.Component />
91 } else if (modal.name === 'alt-text-image') {
92 element = <AltTextImageModal.Component {...modal} />
0093 } else if (modal.name === 'verify-email') {
94 element = <VerifyEmailModal.Component {...modal} />
95 } else if (modal.name === 'change-email') {
+2-5
src/view/shell/Composer.ios.tsx
···2import {Modal, View} from 'react-native'
3import {StatusBar} from 'expo-status-bar'
4import * as SystemUI from 'expo-system-ui'
5-import {observer} from 'mobx-react-lite'
67import {useComposerState} from '#/state/shell/composer'
8import {atoms as a, useTheme} from '#/alf'
9import {getBackgroundColor, useThemeName} from '#/alf/util/useColorModeTheme'
10import {ComposePost, useComposerCancelRef} from '../com/composer/Composer'
1112-export const Composer = observer(function ComposerImpl({}: {
13- winHeight: number
14-}) {
15 const t = useTheme()
16 const state = useComposerState()
17 const ref = useComposerCancelRef()
···42 </View>
43 </Modal>
44 )
45-})
4647function Providers({
48 children,
···2import {Modal, View} from 'react-native'
3import {StatusBar} from 'expo-status-bar'
4import * as SystemUI from 'expo-system-ui'
056import {useComposerState} from '#/state/shell/composer'
7import {atoms as a, useTheme} from '#/alf'
8import {getBackgroundColor, useThemeName} from '#/alf/util/useColorModeTheme'
9import {ComposePost, useComposerCancelRef} from '../com/composer/Composer'
1011+export function Composer({}: {winHeight: number}) {
0012 const t = useTheme()
13 const state = useComposerState()
14 const ref = useComposerCancelRef()
···39 </View>
40 </Modal>
41 )
42+}
4344function Providers({
45 children,
+5-10
src/view/shell/Composer.tsx
···1import React, {useEffect} from 'react'
2import {Animated, Easing, StyleSheet, View} from 'react-native'
3-import {observer} from 'mobx-react-lite'
45-import {useAnimatedValue} from 'lib/hooks/useAnimatedValue'
6-import {usePalette} from 'lib/hooks/usePalette'
7-import {useComposerState} from 'state/shell/composer'
8import {ComposePost} from '../com/composer/Composer'
910-export const Composer = observer(function ComposerImpl({
11- winHeight,
12-}: {
13- winHeight: number
14-}) {
15 const state = useComposerState()
16 const pal = usePalette('default')
17 const initInterp = useAnimatedValue(0)
···62 />
63 </Animated.View>
64 )
65-})
6667const styles = StyleSheet.create({
68 wrapper: {
···1import React, {useEffect} from 'react'
2import {Animated, Easing, StyleSheet, View} from 'react-native'
034+import {useAnimatedValue} from '#/lib/hooks/useAnimatedValue'
5+import {usePalette} from '#/lib/hooks/usePalette'
6+import {useComposerState} from '#/state/shell/composer'
7import {ComposePost} from '../com/composer/Composer'
89+export function Composer({winHeight}: {winHeight: number}) {
000010 const state = useComposerState()
11 const pal = usePalette('default')
12 const initInterp = useAnimatedValue(0)
···57 />
58 </Animated.View>
59 )
60+}
6162const styles = StyleSheet.create({
63 wrapper: {