import PropTypes from 'prop-types'; import React from 'react'; import isBefore from 'Utilities/Date/isBefore'; import { icons, kinds, sizes } from 'Helpers/Props'; import Icon from 'Components/Icon'; import ProgressBar from 'Components/ProgressBar'; import QueueDetails from 'Activity/Queue/QueueDetails'; import EpisodeQuality from './EpisodeQuality'; import styles from './EpisodeStatus.css'; function EpisodeStatus(props) { const { airDateUtc, monitored, grabbed, queueItem, episodeFile } = props; const hasEpisodeFile = !!episodeFile; const isQueued = !!queueItem; const hasAired = isBefore(airDateUtc); if (isQueued) { const { sizeleft, size } = queueItem; const progress = (100 - sizeleft / size * 100); return (
} />
); } if (grabbed) { return (
); } if (hasEpisodeFile) { const quality = episodeFile.quality; const isCutoffNotMet = episodeFile.qualityCutoffNotMet; return (
); } if (!airDateUtc) { return (
); } if (!monitored) { return (
); } if (hasAired) { return (
); } return (
); } EpisodeStatus.propTypes = { airDateUtc: PropTypes.string, monitored: PropTypes.bool, grabbed: PropTypes.bool, queueItem: PropTypes.object, episodeFile: PropTypes.object }; export default EpisodeStatus;