import Lenis from 'lenis'; import { ScrollTrigger } from 'gsap/ScrollTrigger'; let lenis: Lenis | null = null; export function initLenis(): Lenis { if (lenis) return lenis; lenis = new Lenis({ duration: 1.2, easing: (t: number) => Math.min(1, 1.001 - Math.pow(2, -10 * t)), orientation: 'vertical', gestureOrientation: 'vertical', smoothWheel: true, wheelMultiplier: 1, touchMultiplier: 2, }); lenis.on('scroll', ScrollTrigger.update); gsap.ticker.lagSmoothing(0); gsap.ticker.add((time: number) => { lenis?.raf(time * 1000); }); return lenis; } export function destroyLenis(): void { if (lenis) { lenis.destroy(); lenis = null; } } export { Lenis };