const handleQueryParameters = (parameter: string[] | undefined | string) => {
if (!router.isReady) return;
switch (parameter) {
case "false":
return { active: false };
case "true":
return {
active: true,
fromStartDate: format(today, "yyyy-MM-dd"),
};
case "past":
return {
toEndDate: format(yesterday, "yyyy-MM-dd"),
};
default:
router.push("/404");
}
};
const { data, fetchNextPage, hasNextPage, isFetchingNextPage, isLoading } =
useInfiniteQuery(
"infiniteEvents",
async ({ pageParam = 1 }) => {
const response = await apiRequest({
method: "GET",
url: `/events/all`,
queryParams: {
organization_id: organizationId,
page: pageParam,
...handleQueryParameters(router.query.active),
},
useCredentials: true,
});
return response.data as any;
},
{
enabled: !router.isReady,
getNextPageParam: (lastPage) => {
const { page, total } = lastPage;
if (page * 10 >= total) {
return;
}
return page + 1;
},
}
);
if (!router.isReady || isLoading)
return <Loader height="190px" width="190px" />;
const handleQueryParameters = (parameter: string[] | undefined | string) => {
if (!router.isReady) return;
switch (parameter) {
case "false":
return { active: false };
case "true":
return {
active: true,
fromStartDate: format(today, "yyyy-MM-dd"),
};
case "past":
return {
toEndDate: format(yesterday, "yyyy-MM-dd"),
};
default:
router.push("/404");
}
};
const { data, fetchNextPage, hasNextPage, isFetchingNextPage, isLoading } =
useInfiniteQuery(
"infiniteEvents",
async ({ pageParam = 1 }) => {
const response = await apiRequest({
method: "GET",
url: `/events/all`,
queryParams: {
organization_id: organizationId,
page: pageParam,
...handleQueryParameters(router.query.active),
},
useCredentials: true,
});
return response.data as any;
},
{
enabled: !router.isReady,
getNextPageParam: (lastPage) => {
const { page, total } = lastPage;
if (page * 10 >= total) {
return;
}
return page + 1;
},
}
);
if (!router.isReady || isLoading)
return <Loader height="190px" width="190px" />;