}
}, true); // Use capture phase
// Prevent dropdown menu clicks from closing navbar
dropdownMenu.addEventListener('click', function(e) {
e.stopPropagation();
});
}
});
} else {
// Desktop: Initialize Bootstrap dropdowns
var dropdownElementList = [].slice.call(document.querySelectorAll('.dropdown-toggle'));
var dropdownList = dropdownElementList.map(function (dropdownToggleEl) {
return new bootstrap.Dropdown(dropdownToggleEl);
});
}
// Enhanced dropdown hover behavior for desktop
if (window.innerWidth > 768) {
document.querySelectorAll('.nav-item.dropdown').forEach(function(dropdown) {
var dropdownMenu = dropdown.querySelector('.dropdown-menu');
var hoverTimeout;
function showDropdown() {
clearTimeout(hoverTimeout);
if (dropdownMenu) {
dropdownMenu.classList.add('show');
dropdownMenu.style.display = 'block';
}
}
function hideDropdown() {
hoverTimeout = setTimeout(function() {
if (dropdownMenu) {
dropdownMenu.classList.remove('show');
dropdownMenu.style.display = '';
}
}, 100); // Small delay to allow moving to dropdown menu
}
// Show on hover of trigger or menu
dropdown.addEventListener('mouseenter', showDropdown);
if (dropdownMenu) {
dropdownMenu.addEventListener('mouseenter', showDropdown);
dropdownMenu.addEventListener('mouseleave', hideDropdown);
}
// Hide when leaving both trigger and menu
dropdown.addEventListener('mouseleave', hideDropdown);
});
}
});