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);