import { useEffect, useState } from "react" const MOBILE_BREAKPOINT = 768; export function useIsMobile(): boolean { const [isMobile, setIsMobile] = useState(window.innerWidth < MOBILE_BREAKPOINT); useEffect(() => { const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`); const onChange = () => { setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); } mql.addEventListener("change", onChange); setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); return () => mql.removeEventListener("change", onChange); }, []); return !!isMobile; }