mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-06 14:11:35 +02:00
Update responsive breakpoints for various components, implement useIsSidebarCompact hook
This commit is contained in:
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user