user dropdown now closes when certain actions are taken or clicked outside of dialog
This commit is contained in:
@@ -37,6 +37,20 @@
|
|||||||
function dropdownUser(): void {
|
function dropdownUser(): void {
|
||||||
let dropdown = document.querySelector("#userDropdown");
|
let dropdown = document.querySelector("#userDropdown");
|
||||||
dropdown.classList.toggle("hidden");
|
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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -78,7 +92,10 @@
|
|||||||
</li>
|
</li>
|
||||||
{:else}
|
{:else}
|
||||||
<li>
|
<li>
|
||||||
<button on:click={loginToAniList}
|
<button on:click={() => {
|
||||||
|
dropdownUser()
|
||||||
|
loginToAniList()
|
||||||
|
}}
|
||||||
class="block px-4 py-2 w-full hover:bg-gray-600 truncate hover:text-white">
|
class="block px-4 py-2 w-full hover:bg-gray-600 truncate hover:text-white">
|
||||||
<span class="maple-font text-lg mr-4">A</span>Login to AniList
|
<span class="maple-font text-lg mr-4">A</span>Login to AniList
|
||||||
</button>
|
</button>
|
||||||
@@ -95,7 +112,10 @@
|
|||||||
</li>
|
</li>
|
||||||
{:else}
|
{:else}
|
||||||
<li>
|
<li>
|
||||||
<button on:click={loginToMAL}
|
<button on:click={() => {
|
||||||
|
dropdownUser()
|
||||||
|
loginToMAL()
|
||||||
|
}}
|
||||||
class="block px-4 py-2 w-full hover:bg-gray-600 truncate hover:text-white">
|
class="block px-4 py-2 w-full hover:bg-gray-600 truncate hover:text-white">
|
||||||
<span class="maple-font text-lg mr-4">M</span>Login to MyAnimeList
|
<span class="maple-font text-lg mr-4">M</span>Login to MyAnimeList
|
||||||
</button>
|
</button>
|
||||||
@@ -112,7 +132,10 @@
|
|||||||
</li>
|
</li>
|
||||||
{:else}
|
{:else}
|
||||||
<li>
|
<li>
|
||||||
<button on:click={loginToSimkl}
|
<button on:click={() => {
|
||||||
|
dropdownUser()
|
||||||
|
loginToSimkl()
|
||||||
|
}}
|
||||||
class="block px-4 py-2 w-full hover:bg-gray-600 truncate hover:text-white">
|
class="block px-4 py-2 w-full hover:bg-gray-600 truncate hover:text-white">
|
||||||
<span class="maple-font text-lg mr-4">S</span>Login to Simkl
|
<span class="maple-font text-lg mr-4">S</span>Login to Simkl
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user