import {StyleSheet, View} from 'react-native' import {DismissableLayer, FocusGuards, FocusScope} from 'radix-ui/internal' import {RemoveScrollBar} from 'react-remove-scroll-bar' import {useA11y} from '#/state/a11y' import {useModals} from '#/state/modals' import {type ComposerOpts, useComposerState} from '#/state/shell/composer' import {atoms as a, flatten, useBreakpoints, useTheme} from '#/alf' import {ComposePost, useComposerCancelRef} from '../com/composer/Composer' const BOTTOM_BAR_HEIGHT = 61 export function Composer({}: {winHeight: number}) { const state = useComposerState() const isActive = !!state // rendering // = if (!isActive) { return null } return ( <> ) } function Inner({state}: {state: ComposerOpts}) { const ref = useComposerCancelRef() const {isModalActive} = useModals() const t = useTheme() const {gtMobile} = useBreakpoints() const {reduceMotionEnabled} = useA11y() FocusGuards.useFocusGuards() return ( evt.preventDefault()} onInteractOutside={evt => evt.preventDefault()} onDismiss={() => { // TEMP: remove when all modals are ALF'd -sfn if (!isModalActive) { ref.current?.onPressCancel() } }}> ) } const styles = StyleSheet.create({ container: { marginTop: 50, maxWidth: 600, width: '100%', paddingVertical: 0, borderRadius: 8, marginBottom: 0, borderWidth: 1, // @ts-expect-error web only maxHeight: 'calc(100% - (40px * 2))', overflow: 'hidden', }, containerMobile: { borderRadius: 0, marginBottom: BOTTOM_BAR_HEIGHT, // @ts-expect-error web only maxHeight: `calc(100% - ${BOTTOM_BAR_HEIGHT}px)`, }, })