From 89e6fef7f964ef404f08b923a35ac9c43127cc84 Mon Sep 17 00:00:00 2001 From: admin <572701190@qq.com> Date: Sat, 2 May 2026 23:59:38 +0800 Subject: [PATCH] close user menu on outside click --- WebSite/src/App.tsx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/WebSite/src/App.tsx b/WebSite/src/App.tsx index a961289..ea15097 100644 --- a/WebSite/src/App.tsx +++ b/WebSite/src/App.tsx @@ -226,6 +226,20 @@ export default function App() { const selectedDataset = libraryData.find(item => item.id === selectedLibraryId) || libraryData[0]; const selectedInputDir = selectedDataset?.dicomPath || ''; + useEffect(() => { + if (!activeUserMenu) return; + + const closeUserMenuOnOutsideClick = (event: PointerEvent) => { + const target = event.target as HTMLElement | null; + if (!target?.closest('[data-user-menu-root="true"]')) { + setActiveUserMenu(null); + } + }; + + document.addEventListener('pointerdown', closeUserMenuOnOutsideClick); + return () => document.removeEventListener('pointerdown', closeUserMenuOnOutsideClick); + }, [activeUserMenu]); + const showToast = (message: string) => { setToastMessage(message); setTimeout(() => setToastMessage(""), 3000); @@ -1073,7 +1087,7 @@ export default function App() {
{currentUser?.role === 'admin' || u.id === currentUser?.id ? ( -
+