Files
2a6f2d48-efe7-403e-a55d-4fb…/src/components/navbar/NavbarLayoutFloatingOverlay/useScrollDetection.ts
vitalijmulika f3e69ad8e5 Initial commit
2026-01-06 17:37:30 +02: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;
};