aboutsummaryrefslogtreecommitdiff
path: root/src/lib/LandingHero.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-05-08 07:47:47 +0000
committerFuwn <[email protected]>2026-05-08 07:47:47 +0000
commita69b12642237844e60bef7cb8abac7cbd074b53b (patch)
treeaf03b84a664d054add03d988ef48ee8ab75fc0e9 /src/lib/LandingHero.svelte
parentfeat(scroll): add global smooth scrolling via Lenis (diff)
downloaddue.moe-a69b12642237844e60bef7cb8abac7cbd074b53b.tar.xz
due.moe-a69b12642237844e60bef7cb8abac7cbd074b53b.zip
fix(scroll): route LandingHero scroll-down through Lenis
Lenis disables native CSS smooth scroll, so window.scrollTo({behavior:"smooth"}) jumps instantly. Expose the Lenis instance via a store and scroll through it, falling back to native when unavailable.
Diffstat (limited to 'src/lib/LandingHero.svelte')
-rw-r--r--src/lib/LandingHero.svelte4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/LandingHero.svelte b/src/lib/LandingHero.svelte
index b57aec85..9f5d0368 100644
--- a/src/lib/LandingHero.svelte
+++ b/src/lib/LandingHero.svelte
@@ -1,6 +1,7 @@
<script lang="ts">
import { env } from "$env/dynamic/public";
import localforage from "localforage";
+import lenis from "$stores/lenis";
let heroSection = $state<HTMLElement>();
@@ -10,7 +11,8 @@ const scrollPastHero = () => {
const heroBottom =
heroSection.getBoundingClientRect().bottom + window.scrollY;
- window.scrollTo({ top: heroBottom, behavior: "smooth" });
+ if ($lenis) $lenis.scrollTo(heroBottom);
+ else window.scrollTo({ top: heroBottom, behavior: "smooth" });
};
</script>