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}
+
+ ) : (
+
+ )}