Radarr/frontend/src/Calendar/Events/CalendarEventQueueDetails.js

57 lines
1.5 KiB
JavaScript
Raw Normal View History

2018-11-23 07:04:42 +00:00
import PropTypes from 'prop-types';
import React from 'react';
import QueueDetails from 'Activity/Queue/QueueDetails';
import CircularProgressBar from 'Components/CircularProgressBar';
2020-09-01 03:41:20 +00:00
import translate from 'Utilities/String/translate';
2018-11-23 07:04:42 +00:00
function CalendarEventQueueDetails(props) {
const {
title,
size,
sizeleft,
estimatedCompletionTime,
status,
trackedDownloadState,
trackedDownloadStatus,
2018-11-23 07:04:42 +00:00
errorMessage
} = props;
const progress = size ? (100 - sizeleft / size * 100) : 0;
2018-11-23 07:04:42 +00:00
return (
<QueueDetails
title={title}
size={size}
sizeleft={sizeleft}
estimatedCompletionTime={estimatedCompletionTime}
status={status}
trackedDownloadState={trackedDownloadState}
trackedDownloadStatus={trackedDownloadStatus}
2018-11-23 07:04:42 +00:00
errorMessage={errorMessage}
progressBar={
2020-09-01 03:41:20 +00:00
<div title={translate('MovieIsDownloadingInterp', [progress.toFixed(1), title])}>
2018-11-23 07:04:42 +00:00
<CircularProgressBar
progress={progress}
size={20}
strokeWidth={2}
strokeColor={'#7a43b6'}
2018-11-23 07:04:42 +00:00
/>
</div>
}
/>
);
}
CalendarEventQueueDetails.propTypes = {
title: PropTypes.string.isRequired,
size: PropTypes.number.isRequired,
sizeleft: PropTypes.number.isRequired,
estimatedCompletionTime: PropTypes.string,
status: PropTypes.string.isRequired,
trackedDownloadState: PropTypes.string.isRequired,
trackedDownloadStatus: PropTypes.string.isRequired,
2018-11-23 07:04:42 +00:00
errorMessage: PropTypes.string
};
export default CalendarEventQueueDetails;