import React from 'react'; import TagListConnector from 'Components/TagListConnector'; import Language from 'Language/Language'; import QualityProfile from 'typings/QualityProfile'; import formatDateTime from 'Utilities/Date/formatDateTime'; import getRelativeDate from 'Utilities/Date/getRelativeDate'; import formatBytes from 'Utilities/Number/formatBytes'; import translate from 'Utilities/String/translate'; import styles from './SeriesIndexPosterInfo.css'; interface SeriesIndexPosterInfoProps { originalLanguage?: Language; network?: string; showQualityProfile: boolean; qualityProfile?: QualityProfile; previousAiring?: string; added?: string; seasonCount: number; path: string; sizeOnDisk?: number; tags: number[]; sortKey: string; showRelativeDates: boolean; shortDateFormat: string; longDateFormat: string; timeFormat: string; showTags: boolean; } function SeriesIndexPosterInfo(props: SeriesIndexPosterInfoProps) { const { originalLanguage, network, qualityProfile, showQualityProfile, previousAiring, added, seasonCount, path, sizeOnDisk = 0, tags, sortKey, showRelativeDates, shortDateFormat, longDateFormat, timeFormat, showTags, } = props; if (sortKey === 'network' && network) { return (
{network}
); } if (sortKey === 'originalLanguage' && !!originalLanguage?.name) { return (
{originalLanguage.name}
); } if ( sortKey === 'qualityProfileId' && !showQualityProfile && !!qualityProfile?.name ) { return (
{qualityProfile.name}
); } if (sortKey === 'previousAiring' && previousAiring) { return (
{getRelativeDate({ date: previousAiring, shortDateFormat, showRelativeDates, timeFormat, timeForToday: true, })}
); } if (sortKey === 'added' && added) { const addedDate = getRelativeDate({ date: added, shortDateFormat, showRelativeDates, timeFormat, timeForToday: false, }); return (
{translate('Added')}: {addedDate}
); } if (sortKey === 'seasonCount') { let seasons = translate('OneSeason'); if (seasonCount === 0) { seasons = translate('NoSeasons'); } else if (seasonCount > 1) { seasons = translate('CountSeasons', { count: seasonCount }); } return
{seasons}
; } if (!showTags && sortKey === 'tags' && tags.length) { return (
); } if (sortKey === 'path') { return (
{path}
); } if (sortKey === 'sizeOnDisk') { return (
{formatBytes(sizeOnDisk)}
); } return null; } export default SeriesIndexPosterInfo;