From b986e00eb32b795c232a5db39d1cf72ce1882c2d Mon Sep 17 00:00:00 2001 From: Noooste <83548733+Noooste@users.noreply.github.com> Date: Tue, 4 Aug 2026 01:25:49 +0200 Subject: [PATCH] fix(frontend): optimize onOpenChange handling to prevent unnecessary re-renders --- frontend/src/components/ui/dialog.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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