diff --git a/src/view/com/Dialog/index.web.tsx b/src/view/com/Dialog/index.web.tsx index f1576d6f33..3d1a267ceb 100644 --- a/src/view/com/Dialog/index.web.tsx +++ b/src/view/com/Dialog/index.web.tsx @@ -39,13 +39,17 @@ export function Outer({ const t = useTheme() const {gtMobile} = useBreakpoints() const [isOpen, setIsOpen] = React.useState(false) + const [isVisible, setIsVisible] = React.useState(true) const open = React.useCallback(() => { setIsOpen(true) }, [setIsOpen]) - const close = React.useCallback(() => { + const close = React.useCallback(async () => { + setIsVisible(false) + await new Promise(resolve => setTimeout(resolve, 150)) setIsOpen(false) + setIsVisible(true) onClose?.() }, [onClose, setIsOpen]) @@ -88,16 +92,18 @@ export function Outer({ a.flex_row, a.justify_center, ]}> - + {isVisible && ( + + )} true} onTouchEnd={stopPropagation}> - - {children} - + {isVisible ? ( + + {children} + + ) : ( + + )}