2023-03-30 03:11:21 +00:00
|
|
|
import { useEffect, useState } from 'react';
|
|
|
|
|
2023-10-24 07:51:58 +00:00
|
|
|
export const useScrolled = (ref: React.RefObject<HTMLDivElement>, y = 1) => {
|
2023-03-30 03:11:21 +00:00
|
|
|
const [isScrolled, setIsScrolled] = useState(false);
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
const onScroll = () => {
|
|
|
|
if (ref.current) {
|
|
|
|
if (ref.current.scrollTop >= y) setIsScrolled(true);
|
|
|
|
else setIsScrolled(false);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
onScroll();
|
|
|
|
ref.current?.addEventListener('scroll', onScroll);
|
|
|
|
() => ref.current?.removeEventListener('scroll', onScroll);
|
2023-04-04 05:39:07 +00:00
|
|
|
}, [ref, y]);
|
2023-03-30 03:11:21 +00:00
|
|
|
|
|
|
|
return { isScrolled };
|
|
|
|
};
|