ConvoyPanel/resources/scripts/util/useWindowDimensions.ts
2022-11-21 00:21:55 +00:00

28 lines
612 B
TypeScript

import { useState, useEffect } from 'react'
const getWindowDimensions = () => {
const { innerWidth: width, innerHeight: height } = window
return {
width,
height,
}
}
const useWindowDimensions = () => {
const [windowDimensions, setWindowDimensions] = useState(
getWindowDimensions()
)
useEffect(() => {
const handleResize = () => {
setWindowDimensions(getWindowDimensions())
}
window.addEventListener('resize', handleResize)
return () => window.removeEventListener('resize', handleResize)
}, [])
return windowDimensions
}
export default useWindowDimensions