1import { useState, useEffect } from "react";
2
3export function useWindowSize() {
4 const [windowSize, setWindowSize] = useState({
5 width: typeof window !== "undefined" ? window.innerWidth : 0,
6 height: typeof window !== "undefined" ? window.innerHeight : 0,
7 });
8
9 useEffect(() => {
10 function handleResize() {
11 setWindowSize({
12 width: window.innerWidth,
13 height: window.innerHeight,
14 });
15 }
16
17 window.addEventListener("resize", handleResize);
18 handleResize();
19
20 return () => window.removeEventListener("resize", handleResize);
21 }, []);
22
23 return windowSize;
24}