Spaces:
Sleeping
Sleeping
| import { useState, useEffect } from 'react' | |
| /** Returns true when the viewport is below the lg breakpoint (1024px). */ | |
| export function useIsMobile(): boolean { | |
| const [isMobile, setIsMobile] = useState( | |
| () => typeof window !== 'undefined' && window.innerWidth < 1024, | |
| ) | |
| useEffect(() => { | |
| const mq = window.matchMedia('(max-width: 1023px)') | |
| const handler = (e: MediaQueryListEvent) => setIsMobile(e.matches) | |
| setIsMobile(mq.matches) | |
| mq.addEventListener('change', handler) | |
| return () => mq.removeEventListener('change', handler) | |
| }, []) | |
| return isMobile | |
| } | |