import { isArray, map } from "lodash"; import React, { useEffect, ReactElement } from "react"; import { useDispatch, useSelector } from "react-redux"; import { getComicBooksDetailsByIds } from "../../actions/comicinfo.actions"; import { Card } from "../shared/Carda"; import ellipsize from "ellipsize"; import { LIBRARY_SERVICE_HOST } from "../../constants/endpoints"; import { escapePoundSymbol } from "../../shared/utils/formatting.utils"; import prettyBytes from "pretty-bytes"; const PotentialLibraryMatches = (props): ReactElement => { const dispatch = useDispatch(); const comicBooks = useSelector( (state: RootState) => state.comicInfo.comicBooksDetails, ); useEffect(() => { dispatch(getComicBooksDetailsByIds(props.matches)); }, []); return (
{isArray(comicBooks) ? ( map(comicBooks, (match) => { const encodedFilePath = encodeURI( `${LIBRARY_SERVICE_HOST}/${match.rawFileDetails.cover.filePath}`, ); const filePath = escapePoundSymbol(encodedFilePath); return (
{match.rawFileDetails.name}
                    {match.rawFileDetails.containedIn}
                  
File Type {match.rawFileDetails.extension}
File Size {prettyBytes(match.rawFileDetails.fileSize)}
); }) ) : (
No matches found in library.
)}
); }; export default PotentialLibraryMatches;