diff --git a/commafeed-client/src/components/content/FeedEntryFooter.tsx b/commafeed-client/src/components/content/FeedEntryFooter.tsx index dac1dfd3..3896b292 100644 --- a/commafeed-client/src/components/content/FeedEntryFooter.tsx +++ b/commafeed-client/src/components/content/FeedEntryFooter.tsx @@ -7,6 +7,7 @@ import { useAppDispatch, useAppSelector } from "app/store" import { Entry } from "app/types" import { ActionButton } from "components/ActionButtton" import { ButtonToolbar } from "components/ButtonToolbar" +import { throttle } from "lodash" import { useEffect, useState } from "react" import { TbArrowBarToDown, TbExternalLink, TbEyeCheck, TbEyeOff, TbShare, TbStar, TbStarOff, TbTag } from "react-icons/tb" import { ShareButtons } from "./ShareButtons" @@ -37,8 +38,10 @@ export function FeedEntryFooter(props: FeedEntryFooterProps) { const scrollArea = document.getElementById(Constants.dom.mainScrollAreaId) const listener = () => setScrollPosition(scrollArea ? scrollArea.scrollTop : 0) - scrollArea?.addEventListener("scroll", listener) - return () => scrollArea?.removeEventListener("scroll", listener) + const throttledListener = throttle(listener, 100) + + scrollArea?.addEventListener("scroll", throttledListener) + return () => scrollArea?.removeEventListener("scroll", throttledListener) }, []) return (