Calendar item/episode status fixes

Fixes #1425
pull/2833/head
Qstick 3 years ago
parent f549a36c6f
commit 6c708a7a3e

@ -11,13 +11,13 @@ function QueueDetails(props) {
size, size,
sizeleft, sizeleft,
estimatedCompletionTime, estimatedCompletionTime,
status: queueStatus, status,
trackedDownloadState,
trackedDownloadStatus,
errorMessage, errorMessage,
progressBar progressBar
} = props; } = props;
const status = queueStatus.toLowerCase();
const progress = (100 - sizeleft / size * 100); const progress = (100 - sizeleft / size * 100);
if (status === 'pending') { if (status === 'pending') {
@ -40,7 +40,35 @@ function QueueDetails(props) {
); );
} }
// TODO: show an icon when download is complete, but not imported yet? if (trackedDownloadStatus === 'warning') {
return (
<Icon
name={icons.DOWNLOAD}
kind={kinds.WARNING}
title={'Downloaded - Unable to Import: check logs for details'}
/>
);
}
if (trackedDownloadState === 'importPending') {
return (
<Icon
name={icons.DOWNLOAD}
kind={kinds.PURPLE}
title={'Downloaded - Waiting to Import'}
/>
);
}
if (trackedDownloadState === 'importing') {
return (
<Icon
name={icons.DOWNLOAD}
kind={kinds.PURPLE}
title={'Downloaded - Importing'}
/>
);
}
} }
if (errorMessage) { if (errorMessage) {
@ -91,6 +119,8 @@ QueueDetails.propTypes = {
sizeleft: PropTypes.number.isRequired, sizeleft: PropTypes.number.isRequired,
estimatedCompletionTime: PropTypes.string, estimatedCompletionTime: PropTypes.string,
status: PropTypes.string.isRequired, status: PropTypes.string.isRequired,
trackedDownloadState: PropTypes.string.isRequired,
trackedDownloadStatus: PropTypes.string.isRequired,
errorMessage: PropTypes.string, errorMessage: PropTypes.string,
progressBar: PropTypes.node.isRequired progressBar: PropTypes.node.isRequired
}; };

@ -28,7 +28,7 @@ function EpisodeStatus(props) {
size size
} = queueItem; } = queueItem;
const progress = (100 - sizeleft / size * 100); const progress = size ? (100 - sizeleft / size * 100) : 0;
return ( return (
<div className={styles.center}> <div className={styles.center}>

@ -12,10 +12,12 @@ function CalendarEventQueueDetails(props) {
sizeleft, sizeleft,
estimatedCompletionTime, estimatedCompletionTime,
status, status,
trackedDownloadState,
trackedDownloadStatus,
errorMessage errorMessage
} = props; } = props;
const progress = (100 - sizeleft / size * 100); const progress = size ? (100 - sizeleft / size * 100) : 0;
return ( return (
<QueueDetails <QueueDetails
@ -24,6 +26,8 @@ function CalendarEventQueueDetails(props) {
sizeleft={sizeleft} sizeleft={sizeleft}
estimatedCompletionTime={estimatedCompletionTime} estimatedCompletionTime={estimatedCompletionTime}
status={status} status={status}
trackedDownloadState={trackedDownloadState}
trackedDownloadStatus={trackedDownloadStatus}
errorMessage={errorMessage} errorMessage={errorMessage}
progressBar={ progressBar={
<div title={translate('AlbumIsDownloadingInterp', [progress.toFixed(1), title])}> <div title={translate('AlbumIsDownloadingInterp', [progress.toFixed(1), title])}>
@ -45,6 +49,8 @@ CalendarEventQueueDetails.propTypes = {
sizeleft: PropTypes.number.isRequired, sizeleft: PropTypes.number.isRequired,
estimatedCompletionTime: PropTypes.string, estimatedCompletionTime: PropTypes.string,
status: PropTypes.string.isRequired, status: PropTypes.string.isRequired,
trackedDownloadState: PropTypes.string.isRequired,
trackedDownloadStatus: PropTypes.string.isRequired,
errorMessage: PropTypes.string errorMessage: PropTypes.string
}; };

Loading…
Cancel
Save