Update responsive breakpoints for various components, implement useIsSidebarCompact hook

This commit is contained in:
Matteo Parenti
2026-02-15 14:24:50 +01:00
parent 66dcca50f8
commit 4ff3e2a60f
10 changed files with 98 additions and 76 deletions
+24
View File
@@ -0,0 +1,24 @@
import { useState, useEffect } from 'react';
const SIDEBAR_COMPACT_BREAKPOINT = 1144;
export function useIsSidebarCompact(): boolean {
const [isCompact, setIsCompact] = useState(() =>
typeof window !== 'undefined' ? window.innerWidth < SIDEBAR_COMPACT_BREAKPOINT : false
);
useEffect(() => {
const mediaQuery = window.matchMedia(`(max-width: ${SIDEBAR_COMPACT_BREAKPOINT - 1}px)`);
const handleChange = (e: MediaQueryListEvent) => {
setIsCompact(e.matches);
};
setIsCompact(mediaQuery.matches);
mediaQuery.addEventListener('change', handleChange);
return () => mediaQuery.removeEventListener('change', handleChange);
}, []);
return isCompact;
}