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"; 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 }) => { const isComicBookMetadataAvailable = sourcedMetadata && !isUndefined(sourcedMetadata.comicvine) && !isUndefined(sourcedMetadata.comicvine.volumeInformation) && !isEmpty(sourcedMetadata); let imagePath = ""; let comicName = ""; if (isComicBookMetadataAvailable) { imagePath = sourcedMetadata.comicvine.image.small_url; comicName = sourcedMetadata.comicvine.name; } const titleElement = ( {ellipsize(comicName, 20)} ); return ( No Name} >
{isComicBookMetadataAvailable && ( )} {/* Raw file presence */} {isEmpty(rawFileDetails.cover) && ( )} {/* Issue type */} {isComicBookMetadataAvailable && !isNil( detectIssueTypes( sourcedMetadata.comicvine.volumeInformation.description, ), ) ? ( { detectIssueTypes( sourcedMetadata.comicvine.volumeInformation.description, ).displayName } ) : null}
); })}
); };