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}