Files
campaign-site/utils/use-media-query.ts
2025-03-03 10:42:10 -06:00

20 lines
457 B
TypeScript

import { useEffect, useState } from 'react'
export function useMediaQuery(query: string) {
const [value, setValue] = useState(false)
useEffect(() => {
function onChange(event: MediaQueryListEvent) {
setValue(event.matches)
}
const result = matchMedia(query)
result.addEventListener('change', onChange)
setValue(result.matches)
return () => result.removeEventListener('change', onChange)
}, [query])
return value
}