diff --git a/frontend/src/upload/Upload.tsx b/frontend/src/upload/Upload.tsx index a014bc21..46a36f4c 100644 --- a/frontend/src/upload/Upload.tsx +++ b/frontend/src/upload/Upload.tsx @@ -1045,34 +1045,16 @@ function Upload({
- {hasMoreFiles && !isLoadingFiles && ( - - )} {isLoadingFiles && (
Loading more files...
)} -{!hasMoreFiles && !isLoadingFiles && ( + {!hasMoreFiles && !isLoadingFiles && ( All files loaded )}
- - )} @@ -1137,6 +1119,30 @@ function Upload({ ); } + useEffect(() => { + const scrollContainer = scrollContainerRef.current; + + const handleScroll = () => { + if (!scrollContainer) return; + + const { scrollTop, scrollHeight, clientHeight } = scrollContainer; + const isNearBottom = scrollHeight - scrollTop - clientHeight < 50; + + if (isNearBottom && hasMoreFiles && !isLoadingFiles && nextPageToken) { + const sessionToken = getSessionToken(ingestor.type); + if (sessionToken) { + loadGoogleDriveFiles(sessionToken, currentFolderId, nextPageToken, true); + } + } + }; + + scrollContainer?.addEventListener('scroll', handleScroll); + + return () => { + scrollContainer?.removeEventListener('scroll', handleScroll); + }; + }, [hasMoreFiles, isLoadingFiles, nextPageToken, currentFolderId, ingestor.type]); + return (