Bin
2025-12-17 dcf780a91c16b6be28635b6e2e0e702060ee19f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import { useEffect, useState } from "react";
 
export const useMedia = (query: string) => {
  const [match, setMatch] = useState(window.matchMedia(query));
 
  useEffect(() => {
    const handleWindowResize = () => {
      setMatch(window.matchMedia(query));
    };
 
    window.addEventListener("resize", handleWindowResize);
 
    return () => window.removeEventListener("resize", handleWindowResize);
  }, []);
 
  useEffect(() => {
    setMatch(window.matchMedia(query));
  }, [query]);
 
  return match;
};