Files
99fae003-67ce-4295-aeb8-94f…/src/components/navbar/NavbarLayoutFloatingOverlay/useScrollDetection.ts
2025-12-23 12:04:21 +00:00

18 lines
582 B
TypeScript

import { useState, useEffect } from 'react';
import { throttle } from '@/utils/throttle';
export const useScrollDetection = (threshold: number = 50) => {
const [isScrolled, setIsScrolled] = useState(false);
useEffect(() => {
const handleScroll = throttle(() => {
setIsScrolled(window.scrollY > threshold);
}, 100);
handleScroll();
window.addEventListener('scroll', handleScroll, { passive: true });
return () => window.removeEventListener('scroll', handleScroll);
}, [threshold]);
return isScrolled;
};