adding login page to navbar
This commit is contained in:
@@ -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';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user