···99import {createCustomBackdrop} from '../util/BottomSheetCustomBackdrop'
1010import * as AddAppPassword from './AddAppPasswords'
1111import * as AltImageModal from './AltImage'
1212-import * as EditImageModal from './AltImage'
1312import * as ChangeEmailModal from './ChangeEmail'
1413import * as ChangeHandleModal from './ChangeHandle'
1514import * as ChangePasswordModal from './ChangePassword'
···7877 } else if (activeModal?.name === 'alt-text-image') {
7978 snapPoints = AltImageModal.snapPoints
8079 element = <AltImageModal.Component {...activeModal} />
8181- } else if (activeModal?.name === 'edit-image') {
8282- snapPoints = AltImageModal.snapPoints
8383- element = <EditImageModal.Component {...activeModal} />
8480 } else if (activeModal?.name === 'change-handle') {
8581 snapPoints = ChangeHandleModal.snapPoints
8682 element = <ChangeHandleModal.Component {...activeModal} />
+1-8
src/view/com/modals/Modal.web.tsx
···1515import * as CreateOrEditListModal from './CreateOrEditList'
1616import * as CropImageModal from './crop-image/CropImage.web'
1717import * as DeleteAccountModal from './DeleteAccount'
1818-import * as EditImageModal from './EditImage'
1918import * as EditProfileModal from './EditProfile'
2019import * as InviteCodesModal from './InviteCodes'
2120import * as ContentLanguagesSettingsModal from './lang-settings/ContentLanguagesSettings'
···5453 }
55545655 const onPressMask = () => {
5757- if (
5858- modal.name === 'crop-image' ||
5959- modal.name === 'edit-image' ||
6060- modal.name === 'alt-text-image'
6161- ) {
5656+ if (modal.name === 'crop-image' || modal.name === 'alt-text-image') {
6257 return // dont close on mask presses during crop
6358 }
6459 closeModal()
···9590 element = <PostLanguagesSettingsModal.Component />
9691 } else if (modal.name === 'alt-text-image') {
9792 element = <AltTextImageModal.Component {...modal} />
9898- } else if (modal.name === 'edit-image') {
9999- element = <EditImageModal.Component {...modal} />
10093 } else if (modal.name === 'verify-email') {
10194 element = <VerifyEmailModal.Component {...modal} />
10295 } else if (modal.name === 'change-email') {
+2-5
src/view/shell/Composer.ios.tsx
···22import {Modal, View} from 'react-native'
33import {StatusBar} from 'expo-status-bar'
44import * as SystemUI from 'expo-system-ui'
55-import {observer} from 'mobx-react-lite'
6576import {useComposerState} from '#/state/shell/composer'
87import {atoms as a, useTheme} from '#/alf'
98import {getBackgroundColor, useThemeName} from '#/alf/util/useColorModeTheme'
109import {ComposePost, useComposerCancelRef} from '../com/composer/Composer'
11101212-export const Composer = observer(function ComposerImpl({}: {
1313- winHeight: number
1414-}) {
1111+export function Composer({}: {winHeight: number}) {
1512 const t = useTheme()
1613 const state = useComposerState()
1714 const ref = useComposerCancelRef()
···4239 </View>
4340 </Modal>
4441 )
4545-})
4242+}
46434744function Providers({
4845 children,
+5-10
src/view/shell/Composer.tsx
···11import React, {useEffect} from 'react'
22import {Animated, Easing, StyleSheet, View} from 'react-native'
33-import {observer} from 'mobx-react-lite'
4355-import {useAnimatedValue} from 'lib/hooks/useAnimatedValue'
66-import {usePalette} from 'lib/hooks/usePalette'
77-import {useComposerState} from 'state/shell/composer'
44+import {useAnimatedValue} from '#/lib/hooks/useAnimatedValue'
55+import {usePalette} from '#/lib/hooks/usePalette'
66+import {useComposerState} from '#/state/shell/composer'
87import {ComposePost} from '../com/composer/Composer'
981010-export const Composer = observer(function ComposerImpl({
1111- winHeight,
1212-}: {
1313- winHeight: number
1414-}) {
99+export function Composer({winHeight}: {winHeight: number}) {
1510 const state = useComposerState()
1611 const pal = usePalette('default')
1712 const initInterp = useAnimatedValue(0)
···6257 />
6358 </Animated.View>
6459 )
6565-})
6060+}
66616762const styles = StyleSheet.create({
6863 wrapper: {