From 525b773cf4799913ac24e34857348e3aa176608b Mon Sep 17 00:00:00 2001 From: rootphantomer Date: Sun, 5 Jul 2026 17:03:28 +0800 Subject: [PATCH] fix: preserve dialog title during closing animation to prevent flash --- webapp/src/components/ConfirmDialog.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/webapp/src/components/ConfirmDialog.tsx b/webapp/src/components/ConfirmDialog.tsx index 51a1c1f..6f5f6e8 100644 --- a/webapp/src/components/ConfirmDialog.tsx +++ b/webapp/src/components/ConfirmDialog.tsx @@ -87,6 +87,7 @@ export default function ConfirmDialog(props: ConfirmDialogProps) { const cardRef = useRef(null); const maskPointerStartedRef = useRef(false); const restoreFocusRef = useRef(null); + const lastTitleRef = useRef(props.title); const dialogId = useMemo(() => `confirm-dialog-${++dialogIdCounter}`, []); const titleId = `${dialogId}-title`; const messageId = `${dialogId}-message`; @@ -95,6 +96,7 @@ export default function ConfirmDialog(props: ConfirmDialogProps) { useEffect(() => { if (props.open) { + lastTitleRef.current = props.title; setPresent(true); setClosing(false); return; @@ -228,7 +230,7 @@ export default function ConfirmDialog(props: ConfirmDialogProps) { )} -

{props.title}

+

{props.open ? props.title : lastTitleRef.current}

{hasMessage &&
{props.message}
} {props.children} {!props.hideConfirm && (