From fd21a73620d49806f0139c5810ca77fff4ce10dd Mon Sep 17 00:00:00 2001 From: corgifist Date: Sun, 27 Jul 2025 23:46:48 +0300 Subject: [PATCH] changed scrolling code a little bit --- src/components/scroll-fading-title/ScrollFadingTitle.tsx | 4 +++- .../sidebar-trigger-adjustable/SidebarTriggerAdjustable.tsx | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/components/scroll-fading-title/ScrollFadingTitle.tsx b/src/components/scroll-fading-title/ScrollFadingTitle.tsx index 33ff417..0690c9a 100644 --- a/src/components/scroll-fading-title/ScrollFadingTitle.tsx +++ b/src/components/scroll-fading-title/ScrollFadingTitle.tsx @@ -11,7 +11,9 @@ export const ScrollFadingTitle = (props: ComponentProps<"div">) => { useEffect(() => { const handleScroll = () => { if (!elementRef.current) return; - const opacity = easeFade(1 - (window.scrollY / ( window.innerHeight / 20))); + const opacity = easeFade( + Math.max(0, Math.min(1, 1 - (window.scrollY / (window.innerHeight / 20)))) + ); elementRef.current.style.opacity = `${opacity}`; }; diff --git a/src/components/sidebar-trigger-adjustable/SidebarTriggerAdjustable.tsx b/src/components/sidebar-trigger-adjustable/SidebarTriggerAdjustable.tsx index fbfc703..3df3eec 100644 --- a/src/components/sidebar-trigger-adjustable/SidebarTriggerAdjustable.tsx +++ b/src/components/sidebar-trigger-adjustable/SidebarTriggerAdjustable.tsx @@ -19,12 +19,14 @@ export const SidebarTriggerAdjustable = (props: ComponentProps<"div">) => { return; } const triggerDiv = triggerElement as HTMLDivElement; - const slideAmount = easeSlide(Math.max(0, Math.min(1, window.scrollY / (window.innerHeight / 20)))); + const slideAmount = easeSlide( + Math.max(0, Math.min(1, window.scrollY / (window.innerHeight / 20))) + ); triggerDiv.style.marginLeft = `calc(var(--spacing) * ${12 * slideAmount})`; triggerDiv.style.paddingTop = `calc(var(--spacing) * ${(isMobile ? 1 : 3) * slideAmount})`; }; - window.addEventListener('scroll', handleScroll); + window.addEventListener('scroll', handleScroll, {passive: true}); return () => { window.removeEventListener('scroll', handleScroll);