Comicvine integration improvements #109

Merged
rishighan merged 15 commits from comicvine-integration-improvements into main 2024-05-11 22:51:28 +00:00
Showing only changes of commit 9315ad7454 - Show all commits

View File

@@ -1,4 +1,4 @@
import { isEmpty, isUndefined, map, partialRight, pick } from "lodash"; import { isEmpty, isNil, isUndefined, map, partialRight, pick } from "lodash";
import React, { ReactElement, useState, useCallback } from "react"; import React, { ReactElement, useState, useCallback } from "react";
import { useParams } from "react-router"; import { useParams } from "react-router";
import { analyzeLibrary } from "../../actions/comicinfo.actions"; import { analyzeLibrary } from "../../actions/comicinfo.actions";
@@ -61,7 +61,7 @@ const VolumeDetails = (props): ReactElement => {
}), }),
queryKey: ["comicObject"], queryKey: ["comicObject"],
}); });
console.log(comicObject);
// get issues for a series // get issues for a series
const { const {
data: issuesForSeries, data: issuesForSeries,
@@ -70,24 +70,27 @@ const VolumeDetails = (props): ReactElement => {
} = useQuery({ } = useQuery({
queryFn: async () => queryFn: async () =>
await axios({ await axios({
url: `${COMICVINE_SERVICE_URI}/getIssuesForSeries`, url: `${COMICVINE_SERVICE_URI}/getIssuesForVolume`,
method: "POST", method: "POST",
data: { data: {
comicObjectId, volumeId:
comicObject?.data?.sourcedMetadata.comicvine.volumeInformation.id,
}, },
}), }),
queryKey: ["issuesForSeries"], queryKey: ["issuesForSeries", comicObject?.data],
enabled: false, enabled: !isUndefined(comicObject?.data),
}); });
// get story arcs // get story arcs
const useGetStoryArcs = () => { const useGetStoryArcs = () => {
return useMutation({ return useMutation({
mutationFn: async (comicObject) => mutationFn: async (comicObject) =>
axios({ axios({
url: `${COMICVINE_SERVICE_URI}/getStoryArcs`, url: `${COMICVINE_SERVICE_URI}/getResource`,
method: "POST", method: "POST",
data: { data: {
comicObject, comicObject,
resource: "issue",
filter: `id:${comicObject?.sourcedMetadata.comicvine.id}`,
}, },
}), }),
onSuccess: (data) => { onSuccess: (data) => {
@@ -141,13 +144,25 @@ const VolumeDetails = (props): ReactElement => {
</> </>
); );
const Issues = () => (
<>
as
<ul>
{isSuccess &&
issuesForSeries?.data.map((issue) => {
return <li>{JSON.stringify(issue, null, 2)}</li>;
})}
</ul>
</>
);
// Tab content and header details // Tab content and header details
const tabGroup = [ const tabGroup = [
{ {
id: 1, id: 1,
name: "Issues in Volume", name: "Issues in Volume",
icon: <i className="icon-[solar--documents-bold-duotone] w-6 h-6"></i>, icon: <i className="icon-[solar--documents-bold-duotone] w-6 h-6"></i>,
content: <IssuesInVolume key={1} />, content: <Issues />,
}, },
{ {
id: 2, id: 2,