import { useEffect, useState } from 'react'; export function useMediaQuery(query: string) { const [matches, setMatches] = useState(() => { if (typeof window === 'undefined') return false; return window.matchMedia(query).matches; }); useEffect(() => { const mediaQuery = window.matchMedia(query); const handleChange = (event: MediaQueryListEvent) => setMatches(event.matches); mediaQuery.addEventListener('change', handleChange); return () => mediaQuery.removeEventListener('change', handleChange); }, [query]); return matches; }