From 8001a395a76c823062105cfb28f9ff62afacec8b Mon Sep 17 00:00:00 2001 From: faisolavolut Date: Thu, 13 Feb 2025 14:43:48 +0700 Subject: [PATCH] fix: improve event handling in DropdownHamburgerBetter for better alert management --- components/ui/dropdown-menu.tsx | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/components/ui/dropdown-menu.tsx b/components/ui/dropdown-menu.tsx index e6ca75f..153e483 100644 --- a/components/ui/dropdown-menu.tsx +++ b/components/ui/dropdown-menu.tsx @@ -205,10 +205,13 @@ const DropdownHamburgerBetter: React.FC<{ { + onClick={async (e) => { + e.preventDefault(); + e.stopPropagation(); if (typeof local.onClick === "function") { await local.onClick(); } + setOpenAlert(false); }} mode="manual" open={openAlert} @@ -263,19 +266,20 @@ const DropdownHamburgerBetter: React.FC<{ event.stopPropagation(); event.preventDefault(); } - if (typeof e?.onClick === "function") { - local.onClick = e?.onClick; - e?.onClick({ - close: () => { - setOpen(false); - }, - }); - } const data = { alert: e?.alert ? true : false, onClick: e?.onClick, msg: e?.msg, }; + if (typeof e?.onClick === "function") { + local.onClick = e?.onClick; + if (!data?.alert) + e?.onClick({ + close: () => { + setOpen(false); + }, + }); + } if (data?.alert) { setOpen(false); setOpenAlert(e);