✨ feat(utils): add viewport utils

This commit is contained in:
2024-02-18 15:15:01 +01:00
parent c362a2b4d7
commit 2e92417222
4 changed files with 40 additions and 0 deletions
@@ -0,0 +1,21 @@
import React from 'react'
import viewportContext from './viewportContext'
const ViewportProvider = (props: { children: React.ReactNode }) => {
const [width, setWidth] = React.useState(window.innerWidth)
const [height, setHeight] = React.useState(window.innerHeight)
const handleWindowResize = () => {
setWidth(window.innerWidth)
setHeight(window.innerHeight)
}
React.useEffect(() => {
window.addEventListener('resize', handleWindowResize)
return () => window.removeEventListener('resize', handleWindowResize)
}, [])
return <viewportContext.Provider value={{ width, height }}>{props.children}</viewportContext.Provider>
}
export default ViewportProvider