diff --git a/src/lib/lenis.js b/src/lib/lenis.js deleted file mode 100644 index 4ee414d..0000000 --- a/src/lib/lenis.js +++ /dev/null @@ -1,22 +0,0 @@ -import Lenis from 'lenis'; - -let lenisInstance = null; - -export const lenisScrollInstance = () => { - if (!lenisInstance) { - const lenis = new Lenis({ - anchors: true - }); - - function raf(time) { - lenis.raf(time); - requestAnimationFrame(raf); - } - - requestAnimationFrame(raf); - - lenisInstance = lenis; - } - - return lenisInstance; -}; diff --git a/src/lib/lenis.ts b/src/lib/lenis.ts new file mode 100644 index 0000000..16d2b42 --- /dev/null +++ b/src/lib/lenis.ts @@ -0,0 +1,22 @@ +import Lenis from 'lenis'; + +let lenisInstance: Lenis; + +export const initializeLenis = () => { + if (!lenisInstance) { + const lenis = new Lenis({ + anchors: true + }); + + function raf(time: number) { + lenis.raf(time); + requestAnimationFrame(raf); + } + + requestAnimationFrame(raf); + + lenisInstance = lenis; + } + + return lenisInstance; +}; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 69c8a04..87d0e25 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -5,11 +5,11 @@ import favicon from '$lib/assets/favicon.svg'; import { onMount } from 'svelte'; import 'lenis/dist/lenis.css'; - import { lenisScrollInstance } from '$lib/lenis'; + import { initializeLenis } from '$lib/lenis'; let { children } = $props(); onMount(() => { - lenisScrollInstance(); + initializeLenis(); });