Files
myDrive/src/hooks/folders.ts
T
2024-06-23 19:18:32 -04:00

49 lines
1.1 KiB
TypeScript

import { useQuery, useQueryClient } from "react-query";
import { useParams } from "react-router-dom";
import { getFoldersList } from "../api/foldersAPI";
import { useSelector } from "react-redux";
export const useFolders = () => {
const params = useParams();
const sortBy = useSelector((state: any) => state.filter.sortBy);
const foldersReactQuery = useQuery(
[
"folders",
{
parent: params.id || "/",
search: "",
sortBy,
limit: undefined,
},
],
getFoldersList
);
return { ...foldersReactQuery };
};
export const useFoldersClient = () => {
const params = useParams();
const sortBy = useSelector((state: any) => state.filter.sortBy);
const foldersReactClientQuery = useQueryClient();
const invalidateFoldersCache = () => {
foldersReactClientQuery.invalidateQueries({
queryKey: [
"folders",
{
parent: params.id || "/",
search: "",
sortBy,
limit: undefined,
},
],
});
};
return {
...foldersReactClientQuery,
invalidateFoldersCache,
};
};