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} >