diff --git a/frontend/src/components/ui/dialog.tsx b/frontend/src/components/ui/dialog.tsx index 251da47..2210610 100644 --- a/frontend/src/components/ui/dialog.tsx +++ b/frontend/src/components/ui/dialog.tsx @@ -67,6 +67,11 @@ const DialogContent = React.forwardRef(null); + const onOpenChangeRef = React.useRef(onOpenChange); + React.useEffect(() => { + onOpenChangeRef.current = onOpenChange; + }); + React.useEffect(() => { if (!open) return; const previouslyFocused = document.activeElement as HTMLElement | null; @@ -74,7 +79,7 @@ const DialogContent = React.forwardRef { if (e.key === 'Escape') { e.stopPropagation(); - onOpenChange(false); + onOpenChangeRef.current(false); return; } if (e.key !== 'Tab' || !containerRef.current) return; @@ -105,7 +110,7 @@ const DialogContent = React.forwardRef