admin/hooks/useWindowSize.tsx
alisaza e1eaf5eff5 feat: initial ghabilee-admin backoffice app
Extract admin dashboard from ghabilee-frontend2 into a dedicated Next.js
app for backoffice.ghabilee.ir (no SEO indexing / Clarity).
2026-09-05 13:12:59 +03:30

35 lines
680 B
TypeScript

'use client'
import { useEffect, useState } from 'react'
const useWindowSize = () => {
const [windowSize, setWindowSize] = useState({
width: 0,
height: 0,
})
useEffect(() => {
// Handler to update window size
function handleResize() {
setWindowSize({
width: window.innerWidth,
height: window.innerHeight,
})
}
// Initial set
handleResize()
// Add resize event listener
window.addEventListener('resize', handleResize)
// Remove listener to avoid memory leak
return () => {
window.removeEventListener('resize', handleResize)
}
}, [])
return windowSize
}
export default useWindowSize