From 12c75d2d11728216324b38223fe4a4d749a7c142 Mon Sep 17 00:00:00 2001 From: Ivelin Megdanov Date: Mon, 10 Mar 2025 17:23:29 +0200 Subject: [PATCH 1/3] Fix infinite scroll issue on large screens --- src/routes/Discover/Discover.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/routes/Discover/Discover.js b/src/routes/Discover/Discover.js index abcdfb205..f81696246 100644 --- a/src/routes/Discover/Discover.js +++ b/src/routes/Discover/Discover.js @@ -26,6 +26,15 @@ const Discover = ({ urlParams, queryParams }) => { metasContainerRef.current.scrollTop = 0; } }, [discover.catalog]); + React.useEffect(() => { + if (hasNextPage && metasContainerRef.current) { + const containerHeight = metasContainerRef.current.scrollHeight; + const viewportHeight = metasContainerRef.current.clientHeight; + if (containerHeight <= viewportHeight) { + loadNextPage(); + } + } + }, [hasNextPage, loadNextPage]); const selectedMetaItem = React.useMemo(() => { return discover.catalog !== null && discover.catalog.content.type === 'Ready' && From 7389e7b4d02a44b26a3402183e0591c33fe0b175 Mon Sep 17 00:00:00 2001 From: Ivelin Megdanov Date: Tue, 25 Mar 2025 12:25:05 +0200 Subject: [PATCH 2/3] Added threshold for next page calculation --- src/routes/Discover/Discover.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/Discover/Discover.js b/src/routes/Discover/Discover.js index f81696246..2c61e4388 100644 --- a/src/routes/Discover/Discover.js +++ b/src/routes/Discover/Discover.js @@ -30,7 +30,7 @@ const Discover = ({ urlParams, queryParams }) => { if (hasNextPage && metasContainerRef.current) { const containerHeight = metasContainerRef.current.scrollHeight; const viewportHeight = metasContainerRef.current.clientHeight; - if (containerHeight <= viewportHeight) { + if (containerHeight <= viewportHeight + SCROLL_TO_BOTTOM_TRESHOLD) { loadNextPage(); } } From 70f5b515d0c9dd5cb3382704b584dd87dfe926ef Mon Sep 17 00:00:00 2001 From: Ivelin Megdanov Date: Tue, 25 Mar 2025 12:27:58 +0200 Subject: [PATCH 3/3] Fix typo in scroll threshold constant name --- src/routes/Discover/Discover.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/routes/Discover/Discover.js b/src/routes/Discover/Discover.js index 2c61e4388..bab40a1c2 100644 --- a/src/routes/Discover/Discover.js +++ b/src/routes/Discover/Discover.js @@ -11,7 +11,7 @@ const useDiscover = require('./useDiscover'); const useSelectableInputs = require('./useSelectableInputs'); const styles = require('./styles'); -const SCROLL_TO_BOTTOM_TRESHOLD = 400; +const SCROLL_TO_BOTTOM_THRESHOLD = 400; const Discover = ({ urlParams, queryParams }) => { const { core } = useServices(); @@ -30,7 +30,7 @@ const Discover = ({ urlParams, queryParams }) => { if (hasNextPage && metasContainerRef.current) { const containerHeight = metasContainerRef.current.scrollHeight; const viewportHeight = metasContainerRef.current.clientHeight; - if (containerHeight <= viewportHeight + SCROLL_TO_BOTTOM_TRESHOLD) { + if (containerHeight <= viewportHeight + SCROLL_TO_BOTTOM_THRESHOLD) { loadNextPage(); } } @@ -85,7 +85,7 @@ const Discover = ({ urlParams, queryParams }) => { loadNextPage(); } }, [hasNextPage, loadNextPage]); - const onScroll = useOnScrollToBottom(onScrollToBottom, SCROLL_TO_BOTTOM_TRESHOLD); + const onScroll = useOnScrollToBottom(onScrollToBottom, SCROLL_TO_BOTTOM_THRESHOLD); React.useEffect(() => { closeInputsModal(); closeAddonModal();