postio / apps /frontend /src /components /ui /is.scroll.hook.tsx
Leon4gr45's picture
Upload folder using huggingface_hub (part 7)
ec4551b verified
Raw
History Blame Contribute Delete
523 Bytes
import { useState, useEffect } from 'react';
export function useHasScroll(
ref: React.RefObject<HTMLElement | null>,
) {
const [hasScroll, setHasScroll] = useState(false);
useEffect(() => {
const el = ref.current;
if (!el) return;
const check = () => setHasScroll(el.scrollHeight > el.clientHeight);
check();
const observer = new MutationObserver(check);
observer.observe(el, { childList: true, subtree: true });
return () => observer.disconnect();
}, [ref]);
return hasScroll;
}