diff --git a/stirling-pdf/src/main/resources/static/css/navbar.css b/stirling-pdf/src/main/resources/static/css/navbar.css index 78c806267..bf3488d81 100644 --- a/stirling-pdf/src/main/resources/static/css/navbar.css +++ b/stirling-pdf/src/main/resources/static/css/navbar.css @@ -479,9 +479,8 @@ html[dir="rtl"] .dropdown-menu[data-bs-popper] { display: flex; gap: 30px; justify-content: center; - width: 140%; + width: 100%; position: relative; - left: -20%; } .feature-group { diff --git a/stirling-pdf/src/main/resources/templates/fragments/common.html b/stirling-pdf/src/main/resources/templates/fragments/common.html index c6d8c17f8..4b06c819b 100644 --- a/stirling-pdf/src/main/resources/templates/fragments/common.html +++ b/stirling-pdf/src/main/resources/templates/fragments/common.html @@ -32,8 +32,8 @@ // Counter-scale to maintain same visual size const navScale = 1.1 / currentDPR; - // Scale dropdowns relative to navbar scaling to keep them proportional - const dropdownScale = Math.min(1.1, 1.1 / Math.sqrt(currentDPR)); + // Dropdowns at 100% (no additional scaling) + const dropdownScale = 1.0; console.log('DPR:', currentDPR, 'navScale:', navScale, 'will apply scaling'); @@ -51,16 +51,28 @@ const marginAdjustment = scaledHeight - baseHeight; navbar.style.marginBottom = `${marginAdjustment}px`; + // Adjust responsive breakpoint based on effective width after scaling + const effectiveWidth = window.innerWidth / navScale; + if (effectiveWidth >= 1200) { + navbar.classList.add('navbar-expand-lg'); + navbar.classList.remove('navbar-expand-xl'); + } else { + navbar.classList.add('navbar-expand-xl'); + navbar.classList.remove('navbar-expand-lg'); + } - console.log('Applied navbar scale:', navScale); + console.log('Applied navbar scale:', navScale, 'effective width:', effectiveWidth); } setTimeout(() => { const dropdowns = document.querySelectorAll('.dropdown-menu'); dropdowns.forEach(dropdown => { - dropdown.style.transform = `scale(${dropdownScale})`; + // Scale content, not container + dropdown.style.fontSize = `${dropdownScale}em`; + // Reset any container scaling + dropdown.style.transform = ''; }); - console.log('Applied dropdown scale:', dropdownScale); + console.log('Applied dropdown content scale:', dropdownScale); }, 100); } @@ -68,14 +80,13 @@ document.addEventListener('DOMContentLoaded', scaleNav); - // Poll for DPR changes every 200ms setInterval(() => { const currentDPR = window.devicePixelRatio; if (Math.abs(currentDPR - lastDPR) > 0.01) { lastDPR = currentDPR; scaleNav(); } - }, 200); + }, 100); diff --git a/stirling-pdf/src/main/resources/templates/fragments/footer.html b/stirling-pdf/src/main/resources/templates/fragments/footer.html index 01616ddca..2d8465bf5 100644 --- a/stirling-pdf/src/main/resources/templates/fragments/footer.html +++ b/stirling-pdf/src/main/resources/templates/fragments/footer.html @@ -1,7 +1,7 @@