From 60eac105450c017901a4aa4510ee76a174e8fa11 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Sun, 21 Dec 2025 01:14:46 -0500 Subject: [PATCH] user dropdown now closes when certain actions are taken or clicked outside of dialog --- .../src/helperComponents/AvatarMenu.svelte | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/frontend/src/helperComponents/AvatarMenu.svelte b/frontend/src/helperComponents/AvatarMenu.svelte index 1614acf..fcc46d0 100644 --- a/frontend/src/helperComponents/AvatarMenu.svelte +++ b/frontend/src/helperComponents/AvatarMenu.svelte @@ -37,6 +37,20 @@ function dropdownUser(): void { let dropdown = document.querySelector("#userDropdown"); dropdown.classList.toggle("hidden"); + + if (!dropdown.classList.contains("hidden")) { + document.addEventListener("click", clickOutside) + } + } + + function clickOutside(event: Event): void { + let dropdown = document.querySelector("#userDropdown") + let toggleBtn = document.querySelector("#userDropdownButton") + + if (!dropdown.contains(event.target as Node) && !toggleBtn.contains(event.target as Node)) { + dropdown.classList.add("hidden") + document.removeEventListener("click", clickOutside) + } } @@ -78,7 +92,10 @@ {:else}
  • - @@ -95,7 +112,10 @@
  • {:else}
  • - @@ -112,7 +132,10 @@
  • {:else}
  • -