Files
margin/src/useMedia.ts
T
2026-06-27 09:32:22 -04:00

16 lines
523 B
TypeScript

import { useEffect, useState } from "react";
export function useMediaQuery(query: string): boolean {
const [matches, setMatches] = useState(() => window.matchMedia(query).matches);
useEffect(() => {
const mq = window.matchMedia(query);
const onChange = () => setMatches(mq.matches);
onChange();
mq.addEventListener("change", onChange);
return () => mq.removeEventListener("change", onChange);
}, [query]);
return matches;
}
export const useCompact = () => useMediaQuery("(max-width: 899px)");