"use client"; import Lenis from "lenis"; import { useEffect } from "react"; /** * Mount once at the root layout. Wires Lenis to requestAnimationFrame. * The expo-out easing pairs well with the deck's snap-feel. */ export function SmoothScroll() { useEffect(() => { const lenis = new Lenis({ duration: 1.1, easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)), smoothWheel: true, wheelMultiplier: 1, touchMultiplier: 1.5, }); let rafId = 0; function raf(time: number) { lenis.raf(time); rafId = requestAnimationFrame(raf); } rafId = requestAnimationFrame(raf); return () => { cancelAnimationFrame(rafId); lenis.destroy(); }; }, []); return null; }