refactor(ui): Use matchMedia for desktop breakpoint detection

Replace hardcoded width check with Bootstrap's lg breakpoint (992px)
using matchMedia API. Adds constant with comment linking to navbar
configuration for maintainability.
This commit is contained in:
Martin Hauser 2026-08-24 22:12:54 +02:00
parent 9d4440beba
commit 105e58a433
No known key found for this signature in database
3 changed files with 11 additions and 8 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,6 +4,9 @@ import { getElements, isElement } from './util';
type NavState = { pinned: boolean };
type BodyAttr = 'show' | 'hide' | 'hidden' | 'pinned';
// Keep in sync with Bootstrap's `lg` breakpoint and `navbar-expand-lg` in base/layout.html.
const SIDENAV_DESKTOP_MEDIA = '(min-width: 992px)';
class SideNav {
/**
* Sidenav container element.
@ -63,7 +66,7 @@ class SideNav {
toggler.addEventListener('click', event => this.onMobileToggle(event));
}
if (window.innerWidth >= 1200) {
if (window.matchMedia(SIDENAV_DESKTOP_MEDIA).matches) {
if (this.state.get('pinned')) {
this.pin();
} else {