github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/ui/dashboard/src/hooks/useMediaMode.ts (about) 1 import { useEffect, useState } from "react"; 2 3 export type MediaMode = "screen" | "print"; 4 5 const useMediaMode = () => { 6 const [mediaMode, setMediaMode] = useState<MediaMode>("screen"); 7 useEffect(() => { 8 const mediaQuery = window.matchMedia("print"); 9 const changeHandler = (e) => { 10 if (e.matches) { 11 setMediaMode("print"); 12 } else { 13 setMediaMode("screen"); 14 } 15 }; 16 mediaQuery.addEventListener("change", changeHandler); 17 return () => mediaQuery.removeEventListener("change", changeHandler); 18 }, []); 19 return mediaMode; 20 }; 21 22 export default useMediaMode;