blob: a56e36c14556d5e37b170e75bae3743e42d9d1b8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
"use client"
import { useState, useEffect } from "react"
const MOBILE_BREAKPOINT = 768
export function useIsMobile(): boolean {
const [isMobile, setIsMobile] = useState(false)
useEffect(() => {
const mediaQuery = window.matchMedia(
`(max-width: ${MOBILE_BREAKPOINT - 1}px)`
)
setIsMobile(mediaQuery.matches)
function handleChange(event: MediaQueryListEvent) {
setIsMobile(event.matches)
}
mediaQuery.addEventListener("change", handleChange)
return () => mediaQuery.removeEventListener("change", handleChange)
}, [])
return isMobile
}
|