import PropTypes from 'prop-types'; import React from 'react'; import QueueDetails from 'Activity/Queue/QueueDetails'; import Icon from 'Components/Icon'; import ProgressBar from 'Components/ProgressBar'; import { icons, kinds, sizes } from 'Helpers/Props'; import isBefore from 'Utilities/Date/isBefore'; import TrackQuality from './TrackQuality'; import styles from './EpisodeStatus.css'; function EpisodeStatus(props) { const { airDateUtc, monitored, grabbed, queueItem, trackFile } = props; const hasTrackFile = !!trackFile; const isQueued = !!queueItem; const hasAired = isBefore(airDateUtc); if (isQueued) { const { sizeleft, size } = queueItem; const progress = (100 - sizeleft / size * 100); return (
} />
); } if (grabbed) { return (
); } if (hasTrackFile) { const quality = trackFile.quality; const isCutoffNotMet = trackFile.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, trackFile: PropTypes.object }; export default EpisodeStatus;