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 && (
)}
-{!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 (