import { debounce } from '../utils/helpers.js';

/**
 * Инициализация шапки сайта
 */
export const initHeader = () => {
  const header = document.querySelector('.header');
  const burger = document.querySelector('.header__burger');
  const nav = document.querySelector('.header__nav');

  if (!header) return;

  // Скрытие/показ шапки при скролле
  let lastScrollY = window.scrollY;

  const handleScroll = debounce(() => {
    const currentScrollY = window.scrollY;

    if (currentScrollY > 100) {
      if (currentScrollY > lastScrollY) {
        header.style.transform = 'translateY(-100%)';
      } else {
        header.style.transform = 'translateY(0)';
      }
    } else {
      header.style.transform = 'translateY(0)';
    }

    lastScrollY = currentScrollY;
  }, 10);

  window.addEventListener('scroll', handleScroll);

  // Мобильное меню
  if (burger && nav) {
    burger.addEventListener('click', () => {
      nav.classList.toggle('header__nav--open');
      burger.classList.toggle('header__burger--active');
      document.body.classList.toggle('nav-open');
    });

    // Закрытие меню при клике вне его
    document.addEventListener('click', e => {
      if (
        !header.contains(e.target) &&
        nav.classList.contains('header__nav--open')
      ) {
        nav.classList.remove('header__nav--open');
        burger.classList.remove('header__burger--active');
        document.body.classList.remove('nav-open');
      }
    });
  }
};
