mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-01 03:31:25 +02:00
25 lines
696 B
TypeScript
25 lines
696 B
TypeScript
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;
|
|
}
|