import React, { ReactElement, useEffect } from "react"; import prettyBytes from "pretty-bytes"; import { isEmpty, isUndefined, map } from "lodash"; import Header from "../shared/Header"; export const LibraryStatistics = ( props: ILibraryStatisticsProps, ): ReactElement => { const { stats } = props; return (
A brief snapshot of your library. } iconClassNames="fa-solid fa-binoculars mr-2" />
Library size
{props.stats.totalDocuments} files
{props.stats.comicDirectorySize && prettyBytes(props.stats.comicDirectorySize)}
{/* comicinfo and comicvine tagged issues */}
{!isUndefined(props.stats.statistics) && !isEmpty(props.stats.statistics[0].issues) && (
{props.stats.statistics[0].issues.length} {" "} tagged with ComicVine
)} {!isUndefined(props.stats.statistics) && !isEmpty(props.stats.statistics[0].issuesWithComicInfoXML) && (
{props.stats.statistics[0].issuesWithComicInfoXML.length} {" "} with ComicInfo.xml
)}
{!isUndefined(props.stats.statistics) && !isEmpty(props.stats.statistics[0].fileTypes) && map(props.stats.statistics[0].fileTypes, (fileType, idx) => { return ( {fileType.data.length} {fileType._id} ); })}
{/* file types */}
{/* publisher with most issues */} {!isUndefined(props.stats.statistics) && !isEmpty( props.stats.statistics[0].publisherWithMostComicsInLibrary[0], ) && ( <> { props.stats.statistics[0] .publisherWithMostComicsInLibrary[0]._id } {" has the most issues "} { props.stats.statistics[0] .publisherWithMostComicsInLibrary[0].count } )}
); }; export default LibraryStatistics;