Calendar status fixes

Fixes #4747

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
pull/5089/head
Qstick 4 years ago
parent 8ee16b81ec
commit 464d92bb70

@ -11,14 +11,14 @@ 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 = size ? (100 - sizeleft / size * 100) : 0;
const progress = (100 - sizeleft / size * 100);
if (status === 'pending') { if (status === 'pending') {
return ( return (
@ -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={`${translate('Downloaded')} - ${translate('WaitingToImport')}`}
/>
);
}
if (trackedDownloadState === 'importing') {
return (
<Icon
name={icons.DOWNLOAD}
kind={kinds.PURPLE}
title={`${translate('Downloaded')} - ${translate('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
}; };

@ -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('MovieIsDownloadingInterp', [progress.toFixed(1), title])}> <div title={translate('MovieIsDownloadingInterp', [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