import { useState, useEffect, useCallback } from 'react'; interface WindowSize { width: number; height: number; } export function useWindowSize() { const [windowSize, setWindowSize] = useState({ width: window.innerWidth, height: window.innerHeight, }); const handleResize = useCallback(() => { setWindowSize({ width: window.innerWidth, height: window.innerHeight, }); }, []); useEffect(() => { window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, [handleResize]); return windowSize; } export function useIsMobile() { const { width } = useWindowSize(); return width < 768; }