36 lines
881 B
TypeScript
36 lines
881 B
TypeScript
import {
|
|
PublicCollectionIncludingLinks,
|
|
PublicLinkRequestQuery,
|
|
} from "@/types/global";
|
|
import { Dispatch, SetStateAction } from "react";
|
|
|
|
const getPublicCollectionData = async (
|
|
collectionId: number,
|
|
prevData: PublicCollectionIncludingLinks,
|
|
setData: Dispatch<SetStateAction<PublicCollectionIncludingLinks | undefined>>
|
|
) => {
|
|
const requestBody: PublicLinkRequestQuery = {
|
|
cursor: prevData?.links?.at(-1)?.id,
|
|
collectionId,
|
|
};
|
|
|
|
const encodedData = encodeURIComponent(JSON.stringify(requestBody));
|
|
|
|
const res = await fetch(
|
|
"/api/public/routes/collections?body=" + encodeURIComponent(encodedData)
|
|
);
|
|
|
|
const data = await res.json();
|
|
|
|
prevData
|
|
? setData({
|
|
...data.response,
|
|
links: [...prevData.links, ...data.response.links],
|
|
})
|
|
: setData(data.response);
|
|
|
|
return data;
|
|
};
|
|
|
|
export default getPublicCollectionData;
|