You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.6 KiB
58 lines
1.6 KiB
import PropTypes from 'prop-types';
|
|
import React from 'react';
|
|
import QueueDetails from 'Activity/Queue/QueueDetails';
|
|
import CircularProgressBar from 'Components/CircularProgressBar';
|
|
import colors from 'Styles/Variables/colors';
|
|
import translate from 'Utilities/String/translate';
|
|
|
|
function CalendarEventQueueDetails(props) {
|
|
const {
|
|
title,
|
|
size,
|
|
sizeleft,
|
|
estimatedCompletionTime,
|
|
status,
|
|
trackedDownloadState,
|
|
trackedDownloadStatus,
|
|
errorMessage
|
|
} = props;
|
|
|
|
const progress = size ? (100 - sizeleft / size * 100) : 0;
|
|
|
|
return (
|
|
<QueueDetails
|
|
title={title}
|
|
size={size}
|
|
sizeleft={sizeleft}
|
|
estimatedCompletionTime={estimatedCompletionTime}
|
|
status={status}
|
|
trackedDownloadState={trackedDownloadState}
|
|
trackedDownloadStatus={trackedDownloadStatus}
|
|
errorMessage={errorMessage}
|
|
progressBar={
|
|
<div title={translate('MovieIsDownloadingInterp', [progress.toFixed(1), title])}>
|
|
<CircularProgressBar
|
|
progress={progress}
|
|
size={20}
|
|
strokeWidth={2}
|
|
strokeColor={colors.purple}
|
|
/>
|
|
</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,
|
|
errorMessage: PropTypes.string
|
|
};
|
|
|
|
export default CalendarEventQueueDetails;
|