"use client";

import { useEffect } from "react";
import Lenis from "@studio-freight/lenis";

export default function LenisScroll() {
  useEffect(() => {
    // Initialize Lenis
    const lenis = new Lenis({
      duration: 1.2,
      smoothWheel: true,
      lerp: 0.1, // lower = smoother but heavier
      easing: (t) => 1 - Math.pow(2, -10 * t),
    });

    let frameId: number;

    const raf = (time: number) => {
      lenis.raf(time);
      frameId = requestAnimationFrame(raf);
    };

    frameId = requestAnimationFrame(raf);

    // Optional: sync scroll restoration for Next.js
    document.documentElement.style.scrollBehavior = "auto";

    // Cleanup
    return () => {
      cancelAnimationFrame(frameId);
      lenis.destroy();
    };
  }, []);

  return null;
}
