From f4499463fe3347afd885778114c807739d7fd00f Mon Sep 17 00:00:00 2001 From: Vyacheslav Scherbinin Date: Wed, 13 Aug 2025 12:54:58 +0700 Subject: [PATCH] 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;