// hooks/useScroll.js
import { useCallback } from 'react';

export const useScroll = () => {
  const scrollToSection = useCallback((sectionId, offset = 0) => {
    if (typeof window === 'undefined') return;

    const element = document.getElementById(sectionId);
    
    if (element) {
      const elementPosition = element.getBoundingClientRect().top;
      const offsetPosition = elementPosition + window.pageYOffset - offset;

      window.scrollTo({
        top: offsetPosition,
        behavior: 'smooth'
      });
    }
  }, []);

  const scrollToSectionWithHeader = useCallback((sectionId) => {
    const headerOffset = 80; // Adjust based on your header height
    scrollToSection(sectionId, headerOffset);
  }, [scrollToSection]);

  const scrollToTop = useCallback(() => {
    if (typeof window === 'undefined') return;
    
    window.scrollTo({
      top: 0,
      behavior: 'smooth'
    });
  }, []);

  return {
    scrollToSection,
    scrollToSectionWithHeader,
    scrollToTop
  };
};