From 6248abd88e8cb5d60d643651b758874610472f57 Mon Sep 17 00:00:00 2001 From: Vyacheslav Scherbinin Date: Wed, 13 Aug 2025 10:05:16 +0700 Subject: [PATCH 1/5] fix(ui): pointer events transparent modal overlay --- apps/dokploy/components/ui/dialog.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/components/ui/dialog.tsx b/apps/dokploy/components/ui/dialog.tsx index f3b6fedbd..ae92d3797 100644 --- a/apps/dokploy/components/ui/dialog.tsx +++ b/apps/dokploy/components/ui/dialog.tsx @@ -37,7 +37,7 @@ const DialogOverlay = React.forwardRef< {/* Custom overlay for modal=false - no click handler to avoid Command conflicts */} -
+
Date: Wed, 13 Aug 2025 10:07:08 +0700 Subject: [PATCH 2/5] refactor: remove overflow hidden cause of useless --- apps/dokploy/components/ui/dialog.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/dokploy/components/ui/dialog.tsx b/apps/dokploy/components/ui/dialog.tsx index ae92d3797..9fef5b60f 100644 --- a/apps/dokploy/components/ui/dialog.tsx +++ b/apps/dokploy/components/ui/dialog.tsx @@ -61,7 +61,6 @@ const DialogContent = React.forwardRef< const originalPaddingRight = body.style.paddingRight; const originalOverflow = body.style.overflow; - body.style.overflow = "hidden"; if (scrollbarWidth > 0) { body.style.paddingRight = `${scrollbarWidth}px`; } From 6e069154ef4ecfd1ebe86f7bc2757ed8fe222604 Mon Sep 17 00:00:00 2001 From: Vyacheslav Scherbinin Date: Wed, 13 Aug 2025 12:51:44 +0700 Subject: [PATCH 3/5] fix(dialog-ux): prevent default Radix double event onInteractOutside --- apps/dokploy/components/ui/dialog.tsx | 35 +++++++++++++++------------ 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/apps/dokploy/components/ui/dialog.tsx b/apps/dokploy/components/ui/dialog.tsx index 9fef5b60f..64e2717e9 100644 --- a/apps/dokploy/components/ui/dialog.tsx +++ b/apps/dokploy/components/ui/dialog.tsx @@ -73,8 +73,21 @@ const DialogContent = React.forwardRef< // Handle outside interactions properly with Command components const handleInteractOutside = React.useCallback( - (_e: Event) => { + (event: Event | React.MouseEvent) => { + // Don't close when clicking inside popovers, dropdowns, or command components + const target = event.target as HTMLElement; + if ( + target.closest("[data-radix-popper-content-wrapper]") || + target.closest("[cmdk-root]") || + target.closest("[data-radix-command-root]") + ) { + event.preventDefault(); + return; + } + if (onOpenChange) { + event.preventDefault(); + event.stopPropagation(); onOpenChange(false); } }, @@ -95,7 +108,10 @@ const DialogContent = React.forwardRef< return ( {/* Custom overlay for modal=false - no click handler to avoid Command conflicts */} -
+
{ - const target = e.target as HTMLElement; - // Don't close when clicking inside popovers, dropdowns, or command components - if ( - target.closest("[data-radix-popper-content-wrapper]") || - target.closest("[cmdk-root]") || - target.closest("[data-radix-command-root]") - ) { - e.preventDefault(); - return; - } - // Use our custom handler for modal=false behavior - handleInteractOutside(e); - }} + onInteractOutside={(event) => event.preventDefault()} {...props} >
Date: Wed, 13 Aug 2025 12:54:58 +0700 Subject: [PATCH 4/5] fix(dialog-ux): internal component state control --- apps/dokploy/components/ui/dialog.tsx | 32 ++++++++++++++++++--------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/apps/dokploy/components/ui/dialog.tsx b/apps/dokploy/components/ui/dialog.tsx index 64e2717e9..7be34e9b2 100644 --- a/apps/dokploy/components/ui/dialog.tsx +++ b/apps/dokploy/components/ui/dialog.tsx @@ -12,16 +12,28 @@ const Dialog = ({ onOpenChange, open, ...props -}: React.ComponentPropsWithoutRef) => ( - - - -); +}: React.ComponentPropsWithoutRef) => { + const [isOpened, setIsOpened] = React.useState(false); // for internal control + + const handleOpenChange = (open: boolean) => { + if (onOpenChange) { + onOpenChange(open); + } else { + setIsOpened(open); + } + }; + + return ( + + + + ); +}; Dialog.displayName = DialogPrimitive.Root.displayName; const DialogTrigger = DialogPrimitive.Trigger; From f3ec01ec771bc664e43ef9b68ee1d9ae03399309 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 06:46:05 +0000 Subject: [PATCH 5/5] [autofix.ci] apply automated fixes --- apps/dokploy/components/ui/dialog.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/dokploy/components/ui/dialog.tsx b/apps/dokploy/components/ui/dialog.tsx index 7be34e9b2..0d71d059c 100644 --- a/apps/dokploy/components/ui/dialog.tsx +++ b/apps/dokploy/components/ui/dialog.tsx @@ -24,7 +24,9 @@ const Dialog = ({ }; return ( - +