mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
18 lines
537 B
TypeScript
18 lines
537 B
TypeScript
import { useEffect, useState } from 'react';
|
|
|
|
// A hook to determine whether a CSS media query finds any matches.
|
|
const useMedia = (query: string): boolean => {
|
|
const mediaQuery = window.matchMedia(query);
|
|
const [matches, setMatches] = useState(mediaQuery.matches);
|
|
|
|
useEffect(() => {
|
|
const handler = () => setMatches(mediaQuery.matches);
|
|
mediaQuery.addEventListener('change', handler);
|
|
return () => mediaQuery.removeEventListener('change', handler);
|
|
}, [mediaQuery]);
|
|
|
|
return matches;
|
|
};
|
|
|
|
export default useMedia;
|