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