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