🏗️ Refactored the scored matches

This commit is contained in:
2024-01-02 16:01:54 -05:00
parent e00e8c17d8
commit d2873893b8
3 changed files with 45 additions and 8 deletions

View File

@@ -162,7 +162,7 @@ export const ComicDetail = (data: ComicDetailProps): ReactElement => {
scorerConfiguration: { scorerConfiguration: {
searchParams: issueSearchQuery.inferredIssueDetails, searchParams: issueSearchQuery.inferredIssueDetails,
}, },
rawFileDetails: searchPayload.rawFileDetails, rawFileDetails: searchPayload,
}, },
transformResponse: (r) => { transformResponse: (r) => {
const matches = JSON.parse(r); const matches = JSON.parse(r);
@@ -181,7 +181,8 @@ export const ComicDetail = (data: ComicDetailProps): ReactElement => {
} else { } else {
matches = response.data.map((match) => match); matches = response.data.map((match) => match);
} }
setComicVineMatches(matches); const scoredMatches = matches.sort((a, b) => b.score - a.score);
setComicVineMatches(scoredMatches);
}); });
} catch (err) { } catch (err) {
console.log(err); console.log(err);
@@ -198,7 +199,7 @@ export const ComicDetail = (data: ComicDetailProps): ReactElement => {
} else if (!isEmpty(comicvine)) { } else if (!isEmpty(comicvine)) {
issueSearchQuery = refineQuery(comicvine.name); issueSearchQuery = refineQuery(comicvine.name);
} }
fetchComicVineMatches(data, issueSearchQuery, seriesSearchQuery); fetchComicVineMatches(rawFileDetails, issueSearchQuery, seriesSearchQuery);
setSlidingPanelContentId("CVMatches"); setSlidingPanelContentId("CVMatches");
setVisible(true); setVisible(true);
}; };

View File

@@ -46,8 +46,24 @@ export const MatchResult = (props: MatchResultProps) => {
onError={handleBrokenImage} onError={handleBrokenImage}
/> />
</div> </div>
<div className=""> <div>
{match.name ? <p className="text-md">{match.name}</p> : null} <div className="flex flex-row mb-1 justify-end">
{match.name ? (
<p className="text-md w-full">{match.name}</p>
) : null}
<div className="flex">
{/* score */}
<span className="inline-flex items-center bg-green-50 text-sm text-slate-800 font-medium px-2 rounded-md dark:text-slate-900 dark:bg-green-400">
<span className="pr-1 pt-1">
<i className="icon-[solar--course-up-line-duotone] w-4 h-4"></i>
</span>
<span className="text-slate-900 dark:text-slate-900">
{parseInt(match.score, 10)}
</span>
</span>
</div>
</div>
<span className="flex flex-row gap-2 mb-2"> <span className="flex flex-row gap-2 mb-2">
<span className="inline-flex items-center bg-slate-50 text-sm text-slate-800 font-medium px-2 rounded-md dark:text-slate-900 dark:bg-slate-400"> <span className="inline-flex items-center bg-slate-50 text-sm text-slate-800 font-medium px-2 rounded-md dark:text-slate-900 dark:bg-slate-400">
<span className="pr-1 pt-1"> <span className="pr-1 pt-1">
@@ -89,7 +105,7 @@ export const MatchResult = (props: MatchResultProps) => {
{match.volumeInformation.results.count_of_issues} {match.volumeInformation.results.count_of_issues}
</p> </p>
<p> <p>
Publisher: Published by{" "}
{match.volumeInformation.results.publisher.name} {match.volumeInformation.results.publisher.name}
</p> </p>
</div> </div>

View File

@@ -200,7 +200,17 @@ export const Library = (): ReactElement => {
**/ **/
const nextPage = (pageIndex: number, pageSize: number) => { const nextPage = (pageIndex: number, pageSize: number) => {
if (!isPlaceholderData) { if (!isPlaceholderData) {
setOffset(pageSize * pageIndex + 1); queryClient.invalidateQueries({ queryKey: ["comics"] });
setSearchQuery({
query: {},
pagination: {
size: 15,
from: pageSize * pageIndex + 1,
},
type: "all",
trigger: "libraryPage",
});
// setOffset(pageSize * pageIndex + 1);
} }
}; };
@@ -218,7 +228,17 @@ export const Library = (): ReactElement => {
} else { } else {
from = (pageIndex - 1) * pageSize + 2 - (pageSize + 1); from = (pageIndex - 1) * pageSize + 2 - (pageSize + 1);
} }
setOffset(from); queryClient.invalidateQueries({ queryKey: ["comics"] });
setSearchQuery({
query: {},
pagination: {
size: 15,
from,
},
type: "all",
trigger: "libraryPage",
});
// setOffset(from);
}; };
// ImportStatus.propTypes = { // ImportStatus.propTypes = {