Calendar item/episode status fixes
New: Calendar shows icon when download is complete and not yet imported New: Episode status shows pending import and importing icon
This commit is contained in:
parent
910de6d94a
commit
c646bef369
|
@ -10,13 +10,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') {
|
||||||
|
@ -39,7 +39,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) {
|
||||||
|
@ -90,6 +118,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
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,10 +11,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
|
||||||
|
@ -23,6 +25,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={`Episode is downloading - ${progress.toFixed(1)}% ${title}`}>
|
<div title={`Episode is downloading - ${progress.toFixed(1)}% ${title}`}>
|
||||||
|
@ -44,6 +48,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
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,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}>
|
||||||
|
|
Loading…
Reference in New Issue