import { useState, useEffect } from "react"; function getWindowWidth() { const { innerWidth: width } = window; return width; } export default function useBreakPoints(breakpoints: number | number[]) { const [windowWidth, setWindowWidth] = useState(getWindowWidth()); useEffect(() => { function handleResize() { setWindowWidth(getWindowWidth()); } window.addEventListener("resize", handleResize); return () => window.removeEventListener("resize", handleResize); }, []); if (Array.isArray(breakpoints)) { return breakpoints.map((breakpoint) => windowWidth < breakpoint); } return windowWidth < breakpoints; }