diff --git a/backend/services/FolderService/index.ts b/backend/services/FolderService/index.ts index 2b30d65..5dfa7a3 100644 --- a/backend/services/FolderService/index.ts +++ b/backend/services/FolderService/index.ts @@ -98,7 +98,7 @@ class FolderService { let searchQuery = query.search || ""; const parent = query.parent || "/"; - let sortBy = query.sortby || "DEFAULT"; + let sortBy = query.sortBy || "DEFAULT"; const type = query.type; const storageType = query.storageType || undefined; const folderSearch = query.folder_search || undefined; diff --git a/src/components/ContextMenu/index.jsx b/src/components/ContextMenu/index.jsx index e45b41b..714d34a 100644 --- a/src/components/ContextMenu/index.jsx +++ b/src/components/ContextMenu/index.jsx @@ -2,22 +2,21 @@ import classNames from "classnames"; import React, { useEffect, useRef } from "react"; import Swal from "sweetalert2"; import { deleteFile, renameFile, downloadFile } from "../../api/filesAPI"; -import { useFiles, useQuickFiles } from "../../hooks/files"; -import { useFolders } from "../../hooks/folders"; +import { useFilesClient, useQuickFilesClient } from "../../hooks/files"; +import { useFoldersClient } from "../../hooks/folders"; import { useDispatch } from "react-redux"; import { setMoverID } from "../../actions/mover"; import { setShareSelected } from "../../actions/selectedItem"; -import { startRenameFolder } from "../../actions/folders"; import { deleteFolder, renameFolder } from "../../api/foldersAPI"; const ContextMenu = (props) => { - const { invalidateFilesCache } = useFiles(); - const { invalidateFoldersCache } = useFolders(); - const { invalidateQuickFilesCache } = useQuickFiles(); + const { invalidateFilesCache } = useFilesClient(); + const { invalidateFoldersCache } = useFoldersClient(); + const { invalidateQuickFilesCache } = useQuickFilesClient(); const dispatch = useDispatch(); const wrapperRef = useRef(); const liClassname = - "flex w-full px-[20px] py-[12px] items-center font-normal justify-start no-underline transition-all duration-400 ease-in-out hover:bg-[#f6f5fd] hover:text-[#3c85ee] hover:font-medium"; + "flex w-full px-[20px] py-[12px] items-center font-normal text-[#637381] justify-start no-underline transition-all duration-400 ease-in-out text- hover:bg-[#f6f5fd] hover:text-[#3c85ee] hover:font-medium"; const spanClassname = "inline-flex mr-[18px]"; const renameItem = async () => { diff --git a/src/components/Dataform/index.jsx b/src/components/Dataform/index.jsx index c3edf78..1d262c1 100644 --- a/src/components/Dataform/index.jsx +++ b/src/components/Dataform/index.jsx @@ -1,31 +1,48 @@ import QuickAccess from "../QuickAccess"; import Folders from "../Folders"; import { useFiles } from "../../hooks/files"; +import { useInfiniteScroll } from "../../hooks/infiniteScroll"; import Files from "../Files"; +import { useEffect, useState } from "react"; +import SpinnerPage from "../SpinnerPage"; -const DataForm = (props) => { - const { fetchNextPage: filesFetchNextPage, invalidateFilesCache } = - useFiles(); +const DataForm = () => { + const { + fetchNextPage: filesFetchNextPage, + isFetchingNextPage, + data: fileList, + } = useFiles(); + const { sentinelRef, reachedIntersect } = useInfiniteScroll(); + const [initialLoad, setInitialLoad] = useState(true); + + useEffect(() => { + if (initialLoad) { + setInitialLoad(false); + return; + } else if (!fileList) { + return; + } + if (reachedIntersect) { + filesFetchNextPage(); + } + }, [reachedIntersect, initialLoad]); return (
- {moment(props.file.uploadDate).format("L")} + {moment(props.file.uploadDate).format("MM/DD/YY hh:mma")}