Spaces:
Running
Running
import * as React from "react" | |
const MOBILE_BREAKPOINT = 768 | |
export function useIsMobile() { | |
const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined) | |
React.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 | |
} | |