diff --git a/src/components/collections/CollectionList.jsx b/src/components/collections/CollectionList.jsx
index 7ef961c3..bb94130e 100644
--- a/src/components/collections/CollectionList.jsx
+++ b/src/components/collections/CollectionList.jsx
@@ -27,16 +27,16 @@ const CollectionList = ({ fromDate, toDate, isPending, searchString }) => {
const selectedProject = useSelectedProject();
const searchDebounce = useDebounce(searchString, 500);
-
+
const { data, isLoading, isError, error } = useCollections(
- ITEMS_PER_PAGE,
- currentPage,
+ selectedProject,
+ searchDebounce,
localToUtc(fromDate),
localToUtc(toDate),
- isPending,
+ ITEMS_PER_PAGE,
+ currentPage,
true,
- selectedProject,
- searchDebounce
+ isPending
);
const { setProcessedPayment, setAddPayment, setViewCollection } =
useCollectionContext();
@@ -186,84 +186,84 @@ const CollectionList = ({ fromDate, toDate, isPending, searchString }) => {
canViewCollection ||
canEditCollection ||
canCreate) && (
-
-
+ |
+ )}
))
) : (
diff --git a/src/hooks/useCollections.jsx b/src/hooks/useCollections.jsx
index c300462d..324c678a 100644
--- a/src/hooks/useCollections.jsx
+++ b/src/hooks/useCollections.jsx
@@ -2,39 +2,80 @@ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
import { CollectionRepository } from "../repositories/ColllectionRepository";
import showToast from "../services/toastService";
+// export const useCollections = (
+// pageSize,
+// pageNumber,
+// fromDate,
+// toDate,
+// isPending,
+// isActive,
+// projectId,
+// searchString
+// ) => {
+// return useQuery({
+// queryKey: [
+// "collections",
+// pageSize,
+// pageNumber,
+// fromDate,
+// toDate,
+// isPending,
+// isActive,
+// projectId,
+// searchString,
+// ],
+
+// queryFn: async () => {
+// const response = await CollectionRepository.getCollections(
+// pageSize,
+// pageNumber,
+// fromDate,
+// toDate,
+// isPending,
+// isActive,
+// projectId,
+// searchString
+// );
+// return response.data;
+// },
+
+// keepPreviousData: true,
+// staleTime: 1000 * 60 * 1,
+// });
+// };
export const useCollections = (
- pageSize,
- pageNumber,
+ projectId,
+ searchString,
fromDate,
toDate,
- isPending,
+ pageSize,
+ pageNumber,
isActive,
- projectId,
- searchString
+ isPending
) => {
return useQuery({
queryKey: [
"collections",
- pageSize,
- pageNumber,
- fromDate,
- toDate,
- isPending,
- isActive,
projectId,
searchString,
+ fromDate,
+ toDate,
+ pageSize,
+ pageNumber,
+ isActive,
+ isPending,
],
queryFn: async () => {
const response = await CollectionRepository.getCollections(
- pageSize,
- pageNumber,
+ projectId,
+ searchString,
fromDate,
toDate,
- isPending,
+ pageSize,
+ pageNumber,
isActive,
- projectId,
- searchString
+ isPending
);
return response.data;
},
@@ -44,15 +85,14 @@ export const useCollections = (
});
};
-
-export const useCollection =(collectionId)=>{
+export const useCollection = (collectionId) => {
return useQuery({
- queryKey:["collection",collectionId],
- queryFn:async()=> {
+ queryKey: ["collection", collectionId],
+ queryFn: async () => {
const resp = await CollectionRepository.getCollection(collectionId);
return resp.data
},
- enabled:!!collectionId
+ enabled: !!collectionId
})
}
@@ -133,11 +173,11 @@ export const useAddComment = (onSuccessCallBack) => {
});
};
-export const useUpdateCollection =(onSuccessCallBack)=>{
- const client = useQueryClient();
+export const useUpdateCollection = (onSuccessCallBack) => {
+ const client = useQueryClient();
return useMutation({
- mutationFn:async({collectionId,payload})=> await CollectionRepository.updateCollection(collectionId,payload),
- onSuccess: () => {
+ mutationFn: async ({ collectionId, payload }) => await CollectionRepository.updateCollection(collectionId, payload),
+ onSuccess: () => {
client.invalidateQueries({ queryKey: ["collections"] });
client.invalidateQueries({ queryKey: ["collection"] });
showToast("Collection Updated Successfully", "success");
diff --git a/src/pages/collections/CollectionPage.jsx b/src/pages/collections/CollectionPage.jsx
index fbac9564..3a67d94c 100644
--- a/src/pages/collections/CollectionPage.jsx
+++ b/src/pages/collections/CollectionPage.jsx
@@ -117,7 +117,8 @@ const CollectionPage = () => {
{/* Left side: Date Picker + Show Pending (stacked on mobile) */}
-
+
diff --git a/src/repositories/ColllectionRepository.jsx b/src/repositories/ColllectionRepository.jsx
index 8eb512da..04db4369 100644
--- a/src/repositories/ColllectionRepository.jsx
+++ b/src/repositories/ColllectionRepository.jsx
@@ -4,26 +4,46 @@ import { DirectoryRepository } from "./DirectoryRepository";
export const CollectionRepository = {
createNewCollection: (data) =>
api.post(`/api/Collection/invoice/create`, data),
- updateCollection:(id,data)=>{
- api.put(`/api/Collection/invoice/edit/${id}`,data)
+ updateCollection: (id, data) => {
+ api.put(`/api/Collection/invoice/edit/${id}`, data)
},
- getCollections: (pageSize, pageNumber,fromDate,toDate, isPending,isActive,projectId, searchString) => {
- let url = `/api/Collection/invoice/list?pageSize=${pageSize}&pageNumber=${pageNumber}&isPending=${isPending}&isActive=${isActive}&searchString=${searchString}`;
+ // getCollections: (pageSize, pageNumber,fromDate,toDate, isPending,isActive,projectId, searchString) => {
+ // let url = `/api/Collection/invoice/list?pageSize=${pageSize}&pageNumber=${pageNumber}&isPending=${isPending}&isActive=${isActive}&searchString=${searchString}`;
+ // const params = [];
+ // if (fromDate) params.push(`fromDate=${fromDate}`);
+ // if (toDate) params.push(`toDate=${toDate}`);
+ // if(projectId) params.push(`projectId=${projectId}`)
+
+ // if (params.length > 0) {
+ // url += `&${params.join("&")}`;
+ // }
+ // return api.get(url);
+ // },
+
+ getCollections: (projectId, searchString, fromDate, toDate, pageSize, pageNumber, isActive, isPending) => {
+ let url = `/api/Collection/invoice/list`;
const params = [];
- if (fromDate) params.push(`fromDate=${fromDate}`);
- if (toDate) params.push(`toDate=${toDate}`);
- if(projectId) params.push(`projectId=${projectId}`)
+
+ if (projectId) params.push(`projectId=${projectId}`);
+ if (searchString) params.push(`search=${searchString}`);
+ if (fromDate) params.push(`dateFrom=${fromDate}`);
+ if (toDate) params.push(`dateTo=${toDate}`);
+ if (pageSize) params.push(`pageSize=${pageSize}`);
+ if (pageNumber) params.push(`pageNumber=${pageNumber}`);
+ if (isActive) params.push(`isActive=${isActive}`);
+ if (isPending) params.push(`isPending=${isPending}`);
if (params.length > 0) {
- url += `&${params.join("&")}`;
+ url += "?" + params.join("&");
}
- return api.get(url);
+
+ return api.get(url);
},
- makeReceivePayment:(data)=> api.post(`/api/Collection/invoice/payment/received`,data),
- markPaymentReceived:(invoiceId)=>api.put(`/api/Collection/invoice/marked/completed/${invoiceId}`),
- getCollection:(id)=>api.get(`/api/Collection/invoice/details/${id}`),
- addComment:(data)=>api.post(`/api/Collection/invoice/add/comment`,data)
+ makeReceivePayment: (data) => api.post(`/api/Collection/invoice/payment/received`, data),
+ markPaymentReceived: (invoiceId) => api.put(`/api/Collection/invoice/marked/completed/${invoiceId}`),
+ getCollection: (id) => api.get(`/api/Collection/invoice/details/${id}`),
+ addComment: (data) => api.post(`/api/Collection/invoice/add/comment`, data)
};