39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
document.addEventListener('DOMContentLoaded', () => {
|
|
const profileTrigger = document.querySelector('.profile-trigger');
|
|
const profileMenu = document.querySelector('.profile-menu');
|
|
|
|
if (!profileTrigger || !profileMenu) return;
|
|
|
|
// Toggle on click
|
|
profileTrigger.addEventListener('click', (e) => {
|
|
e.stopPropagation();
|
|
profileMenu.classList.toggle('active');
|
|
});
|
|
|
|
// Close on outside click
|
|
document.addEventListener('click', () => {
|
|
profileMenu.classList.remove('active');
|
|
});
|
|
|
|
// Prevent closing when clicking inside menu
|
|
profileMenu.addEventListener('click', (e) => {
|
|
e.stopPropagation();
|
|
});
|
|
|
|
// Close on ESC
|
|
document.addEventListener('keydown', (e) => {
|
|
if (e.key === 'Escape') {
|
|
profileMenu.classList.remove('active');
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
document.addEventListener("DOMContentLoaded", () => {
|
|
const mobileMenuButton = document.querySelector(".mobile-menu-button");
|
|
const sidebar = document.querySelector(".dashboard-sidebar");
|
|
mobileMenuButton.addEventListener("click", () => {
|
|
sidebar.classList.toggle("active");
|
|
}
|
|
);
|
|
}); |