diff --git a/src/alf/util/useColorModeTheme.ts b/src/alf/util/useColorModeTheme.ts
index 12840c7062..b672751d79 100644
--- a/src/alf/util/useColorModeTheme.ts
+++ b/src/alf/util/useColorModeTheme.ts
@@ -2,8 +2,8 @@ import React from 'react'
import {ColorSchemeName, useColorScheme} from 'react-native'
import * as SystemUI from 'expo-system-ui'
-import {isWeb} from 'platform/detection'
-import {useThemePrefs} from 'state/shell'
+import {isIOS, isWeb} from '#/platform/detection'
+import {useThemePrefs} from '#/state/shell'
import {dark, dim, light} from '#/alf/themes'
import {ThemeName} from '#/alf/types'
@@ -12,7 +12,9 @@ export function useColorModeTheme(): ThemeName {
React.useLayoutEffect(() => {
updateDocument(theme)
- SystemUI.setBackgroundColorAsync(getBackgroundColor(theme))
+ if (!isIOS) {
+ SystemUI.setBackgroundColorAsync(getBackgroundColor(theme))
+ }
}, [theme])
return theme
diff --git a/src/view/shell/Composer.ios.tsx b/src/view/shell/Composer.ios.tsx
index 18410bf397..101f9ce853 100644
--- a/src/view/shell/Composer.ios.tsx
+++ b/src/view/shell/Composer.ios.tsx
@@ -1,11 +1,9 @@
-import React, {useLayoutEffect} from 'react'
+import React from 'react'
import {Modal, View} from 'react-native'
import {StatusBar} from 'expo-status-bar'
-import * as SystemUI from 'expo-system-ui'
import {useComposerState} from '#/state/shell/composer'
import {atoms as a, useTheme} from '#/alf'
-import {getBackgroundColor, useThemeName} from '#/alf/util/useColorModeTheme'
import {ComposePost, useComposerCancelRef} from '../com/composer/Composer'
export function Composer({}: {winHeight: number}) {
@@ -24,56 +22,19 @@ export function Composer({}: {winHeight: number}) {
animationType="slide"
onRequestClose={() => ref.current?.onPressCancel()}>
-
-
-
+
+ {open ? : null}
)
}
-
-function Providers({
- children,
- open,
-}: {
- children: React.ReactNode
- open: boolean
-}) {
- // on iOS, it's a native formSheet. We use FullWindowOverlay to make
- // the dialogs appear over it
- return (
- <>
- {children}
-
- >
- )
-}
-
-// Generally, the backdrop of the app is the theme color, but when this is open
-// we want it to be black due to the modal being a form sheet.
-function IOSModalBackground({active}: {active: boolean}) {
- const theme = useThemeName()
-
- useLayoutEffect(() => {
- SystemUI.setBackgroundColorAsync('black')
-
- return () => {
- SystemUI.setBackgroundColorAsync(getBackgroundColor(theme))
- }
- }, [theme])
-
- // Set the status bar to light - however, only if the modal is active
- // If we rely on this component being mounted to set this,
- // there'll be a delay before it switches back to default.
- return active ? : null
-}