diff --git a/resources/views/partials/header.blade.php b/resources/views/partials/header.blade.php index ac3c70fa..2c4632c9 100644 --- a/resources/views/partials/header.blade.php +++ b/resources/views/partials/header.blade.php @@ -30,7 +30,7 @@ -
+ // Items to hide - start from the last ones (maintaining original order for visible items) + var itemsToHide = []; + + // Iterate from the end to find items that need to be hidden + for (var i = items.length - 1; i >= 0; i--) { + var item = items[i]; + item.style.visibility = 'hidden'; + var itemWidth = item.offsetWidth + 20; + + if (totalWidth - itemWidth <= availableWidth) { + // This item can be shown, stop hiding + totalWidth -= itemWidth; + item.style.visibility = ''; + break; + } else { + // This item needs to be hidden + itemsToHide.push(item); + totalWidth -= itemWidth; + } + item.style.visibility = ''; + } + + // Reverse to get them in original order for dropdown + itemsToHide.reverse(); + + // Add hidden items to dropdown in their original order + itemsToHide.forEach(function(item) { + var link = item.querySelector('a'); + if (link) { + var menuItem = document.createElement('a'); + menuItem.href = link.href; + menuItem.className = 'dropdown-item'; + menuItem.innerHTML = '' + link.textContent.trim() + ''; + moreMenu.appendChild(menuItem); + } + item.style.display = 'none'; + }); + + moreDropdown.style.display = moreMenu.children.length > 0 ? 'block' : 'none'; + } + + adjustNavigation(); + window.addEventListener('resize', adjustNavigation); + setTimeout(adjustNavigation, 500); +}); + +@endpush