Home page burger menu scroll fix (#26853)

* adding a scroll fix

* generalising the solution so it works for both BS3 and BS5

GitOrigin-RevId: 8dd0d82356b484adcad9de487b12ecfc4050d109
This commit is contained in:
Davinder Singh
2025-07-09 11:19:29 +01:00
committed by Copybot
parent 04d709fad8
commit 2972e84d5b
7 changed files with 23 additions and 2 deletions
@@ -36,7 +36,7 @@ nav.navbar.navbar-default.navbar-main.navbar-expand-lg(
- var canDisplayScriptLogMenu = hasFeature('saas') && canDisplayAdminMenu
if typeof suppressNavbarRight === 'undefined'
button.navbar-toggler.collapsed(
button#navbar-toggle-btn.navbar-toggler.collapsed(
type='button'
data-bs-toggle='collapse'
data-bs-target='#navbar-main-collapse'
@@ -2,7 +2,7 @@ nav.navbar.navbar-default.navbar-main.website-redesign-navbar
.container-fluid
.navbar-header
if typeof suppressNavbarRight == 'undefined'
button.navbar-toggle.collapsed(
button#navbar-toggle-btn.navbar-toggle.collapsed(
type='button'
data-toggle='collapse'
data-target='#navbar-main-collapse'
+1
View File
@@ -2,3 +2,4 @@ import 'bootstrap'
import './features/contact-form'
import './features/bookmarkable-tab/index'
import './features/tooltip/index-bs3'
import './features/navbar/index'
+1
View File
@@ -1,3 +1,4 @@
import './features/bookmarkable-tab/index-bs5'
import './features/tooltip/index-bs5'
import './features/navbar/index'
import 'bootstrap-5'
@@ -0,0 +1,9 @@
const toggleButton = document.getElementById('navbar-toggle-btn') as HTMLElement
toggleButton.addEventListener('click', () => {
// Delay allows Bootstrap to update aria-expanded first
setTimeout(() => {
const isExpanded = toggleButton.getAttribute('aria-expanded') === 'true'
document.body.classList.toggle('no-scroll', isExpanded)
}, 5)
})
@@ -1,3 +1,8 @@
.no-scroll {
height: 100vh;
overflow: hidden;
}
// Default navbar
.navbar-default {
background-color: var(--navbar-bg);
@@ -7,6 +7,11 @@
// Provide a static navbar from which we expand to create full-width, fixed, and
// other navbar variations.
.no-scroll {
height: 100vh;
overflow: hidden;
}
.navbar {
position: relative;
min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)