diff --git a/src/admin/ui/ConfirmDialog.tsx b/src/admin/ui/ConfirmDialog.tsx index bd0f935..2f8663a 100644 --- a/src/admin/ui/ConfirmDialog.tsx +++ b/src/admin/ui/ConfirmDialog.tsx @@ -1,3 +1,4 @@ +import { useRef } from "react"; import Dialog from "@mui/material/Dialog"; import DialogTitle from "@mui/material/DialogTitle"; import DialogContent from "@mui/material/DialogContent"; @@ -29,15 +30,21 @@ export default function ConfirmDialog({ confirmVariant = "primary", loading = false, }: ConfirmDialogProps) { + // Retain the last shown title/message so the close (fade-out) transition + // doesn't flash empty when the caller clears its source data (e.g. sets the + // selected row to null) at the same moment it closes the dialog. + const shown = useRef({ title, message }); + if (isOpen) shown.current = { title, message }; + return ( - {title} + {shown.current.title} - {message} + {shown.current.message}