adding login page to navbar

This commit is contained in:
x
2026-01-24 13:37:13 +01:00
parent 8397d4ed3f
commit 111f06ed42
3 changed files with 209 additions and 47 deletions

View File

@@ -9,17 +9,64 @@ window.requestAnimFrame = (function () {
(() => {
let video;
// User dropdown toggle
// User & Visitor dropdown toggle
const userToggle = document.getElementById('nav-user-toggle');
const userMenu = document.getElementById('nav-user-menu');
const visitorToggle = document.getElementById('nav-visitor-toggle');
const visitorMenu = document.getElementById('nav-visitor-menu');
if (userToggle && userMenu) {
userToggle.addEventListener('click', (e) => {
e.stopPropagation();
userMenu.classList.toggle('show');
});
document.addEventListener('click', (e) => {
if (!userMenu.contains(e.target) && !userToggle.contains(e.target)) {
userMenu.classList.remove('show');
}
if (visitorToggle && visitorMenu) {
visitorToggle.addEventListener('click', (e) => {
e.stopPropagation();
visitorMenu.classList.toggle('show');
});
}
document.addEventListener('click', (e) => {
if (userMenu && !userMenu.contains(e.target) && userToggle && !userToggle.contains(e.target)) {
userMenu.classList.remove('show');
}
if (visitorMenu && !visitorMenu.contains(e.target) && visitorToggle && !visitorToggle.contains(e.target)) {
visitorMenu.classList.remove('show');
}
});
// Login Modal Logic
const loginBtn = document.getElementById('nav-login-btn');
const loginModal = document.getElementById('login-modal');
const loginClose = document.getElementById('login-modal-close');
if (loginBtn && loginModal) {
loginBtn.addEventListener('click', (e) => {
e.preventDefault();
loginModal.style.display = 'flex';
// Close dropdown
if (visitorMenu) visitorMenu.classList.remove('show');
});
if (loginClose) {
loginClose.addEventListener('click', () => {
loginModal.style.display = 'none';
});
}
loginModal.addEventListener('click', (e) => {
if (e.target === loginModal) {
loginModal.style.display = 'none';
}
});
// Handle ESC key to close
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && loginModal.style.display === 'flex') {
loginModal.style.display = 'none';
}
});
}