From 0604c303641a90ab35d34a5b58de3f83d0c84c2c Mon Sep 17 00:00:00 2001 From: Reece Date: Sat, 5 Jul 2025 12:30:56 +0100 Subject: [PATCH] fix all dropdowns --- .../src/main/resources/static/css/navbar.css | 14 +------------- .../main/resources/templates/fragments/common.html | 11 ++++++++++- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/stirling-pdf/src/main/resources/static/css/navbar.css b/stirling-pdf/src/main/resources/static/css/navbar.css index 384d54186..018727776 100644 --- a/stirling-pdf/src/main/resources/static/css/navbar.css +++ b/stirling-pdf/src/main/resources/static/css/navbar.css @@ -384,19 +384,7 @@ html[dir="rtl"] .dropdown-menu { right: auto; } -html[dir="ltr"] .dropdown-menu[data-bs-popper] { - top: auto; - left: auto; - right: 0; - margin-top: 0 !important; -} - -html[dir="rtl"] .dropdown-menu[data-bs-popper] { - top: auto; - left: 0; - right: auto; - margin-top: 0 !important; -} +/* Bootstrap Popper positioning overrides removed - dropdowns now position naturally relative to their buttons */ .dropdown-menu-wrapper { padding: 1.5rem 0; diff --git a/stirling-pdf/src/main/resources/templates/fragments/common.html b/stirling-pdf/src/main/resources/templates/fragments/common.html index ded8af14a..f947d366e 100644 --- a/stirling-pdf/src/main/resources/templates/fragments/common.html +++ b/stirling-pdf/src/main/resources/templates/fragments/common.html @@ -85,7 +85,16 @@ const dropdowns = document.querySelectorAll('.dropdown-menu'); dropdowns.forEach(dropdown => { dropdown.style.transform = `scale(${dropdownScale})`; - dropdown.style.transformOrigin = 'top center'; + + // Use different transform origins based on dropdown position + const parentItem = dropdown.closest('.nav-item'); + const navbar = dropdown.closest('.navbar-nav'); + + // Check if this is a right-aligned dropdown (language, favorites, search, etc.) + const isRightAligned = navbar && navbar.classList.contains('flex-nowrap') && + !parentItem.closest('.dropdown-mega'); + + dropdown.style.transformOrigin = isRightAligned ? 'top right' : 'top left'; }); console.log('Applied dropdown scale:', dropdownScale);