| 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; |
| } |