This commit is contained in:
Michael Freno
2026-01-04 15:40:42 -05:00
parent 2093859654
commit b1fdc53129

View File

@@ -105,33 +105,22 @@ export default function CustomScrollbar(props: CustomScrollbarProps) {
updateScrollbar(); updateScrollbar();
setTimeout(() => updateScrollbar(), 100);
setTimeout(() => updateScrollbar(), 500);
const handleResize = () => { const handleResize = () => {
setWindowWidth(window.innerWidth); setWindowWidth(window.innerWidth);
updateScrollbar(); updateScrollbar();
}; };
let mutationTimeout: NodeJS.Timeout; const resizeObserver = new ResizeObserver(() => {
const observer = new MutationObserver(() => {
clearTimeout(mutationTimeout);
mutationTimeout = setTimeout(() => {
updateScrollbar(); updateScrollbar();
}, 150);
}); });
observer.observe(containerRef, { resizeObserver.observe(containerRef);
childList: true,
subtree: true
});
containerRef.addEventListener("scroll", updateScrollbar, { passive: true }); containerRef.addEventListener("scroll", updateScrollbar, { passive: true });
window.addEventListener("resize", handleResize); window.addEventListener("resize", handleResize);
onCleanup(() => { onCleanup(() => {
observer.disconnect(); resizeObserver.disconnect();
clearTimeout(mutationTimeout);
containerRef?.removeEventListener("scroll", updateScrollbar); containerRef?.removeEventListener("scroll", updateScrollbar);
window.removeEventListener("resize", handleResize); window.removeEventListener("resize", handleResize);
if (hideTimeout) clearTimeout(hideTimeout); if (hideTimeout) clearTimeout(hideTimeout);