blob: a289bd39cd7344b55690a871931275e78478f3a2 [file] [log] [blame]
import { useCallback, useEffect, useState } from 'react';
export default function useScrollTop(top: number) {
const [isTop, setIsTop] = useState<boolean>(true);
const scrollCallback = () => {
const scrollTop = document.documentElement.scrollTop;
if (scrollTop > top) {
setIsTop(false);
} else {
setIsTop(true);
}
};
const eventListener = useCallback(e => scrollCallback(), []);
useEffect(() => {
scrollCallback();
document.addEventListener('scroll', eventListener);
return () => {
document.removeEventListener('scroll', eventListener);
};
}, []);
return { isTop, top };
}