import { useState, useEffect } from "react";

export default function useWindowDimensions() {
    // На сервере инициализируем значениями по умолчанию (0 или null)
    const [dimensions, setDimensions] = useState({
        width: typeof window !== 'undefined' ? window.innerWidth : 0,
        height: typeof window !== 'undefined' ? window.innerHeight : 0,
    });

    useEffect(() => {
        // Этот код гарантированно выполнится ТОЛЬКО в браузере
        function handleResize() {
            setDimensions({
                width: window.innerWidth,
                height: window.innerHeight,
            });
        }

        // Устанавливаем точные размеры сразу при монтировании
        handleResize();

        window.addEventListener('resize', handleResize);
        return () => window.removeEventListener('resize', handleResize);
    }, []);

    return dimensions;
}