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