import React, { ReactElement } from "react"; import Card from "../Carda"; import { Link, useNavigate } from "react-router-dom"; import ellipsize from "ellipsize"; import { isEmpty, isNil, isUndefined, map } from "lodash"; import { detectIssueTypes } from "../../shared/utils/tradepaperback.utils"; import Masonry from "react-masonry-css"; import { determineCoverFile } from "../../shared/utils/metadata.utils"; type WantedComicsListProps = { comics: any; }; export const WantedComicsList = ({ comics, }: WantedComicsListProps): ReactElement => { const breakpointColumnsObj = { default: 5, 1100: 4, 700: 2, 600: 2, }; const navigate = useNavigate(); const navigateToWantedComics = (row) => { navigate(`/wanted/all`); }; return ( <>
Wanted Comics

Comics marked as wanted from various sources.

{map( comics, ({ _id, rawFileDetails, sourcedMetadata: { comicvine, comicInfo, locg }, }) => { const isComicBookMetadataAvailable = !isUndefined(comicvine) && !isUndefined(comicvine.volumeInformation); const consolidatedComicMetadata = { rawFileDetails, comicvine, comicInfo, locg, }; const { issueName, url } = determineCoverFile( consolidatedComicMetadata, ); const titleElement = ( {ellipsize(issueName, 20)} ); return ( No Name} >
{/* comicVine metadata presence */} {isComicBookMetadataAvailable && ( )} {!isEmpty(locg) && ( )} {/* Issue type */} {isComicBookMetadataAvailable && !isNil( detectIssueTypes(comicvine.volumeInformation.description), ) ? ( { detectIssueTypes( comicvine.volumeInformation.description, ).displayName } ) : null}
); }, )}
); };