import moment from 'moment'; import PropTypes from 'prop-types'; import React from 'react'; import { icons, kinds } from 'Helpers/Props'; import Icon from 'Components/Icon'; function QueueDetails(props) { const { title, size, sizeleft, estimatedCompletionTime, status: queueStatus, errorMessage, progressBar } = props; const status = queueStatus.toLowerCase(); const progress = (100 - sizeleft / size * 100); if (status === 'pending') { return ( ); } if (status === 'completed') { if (errorMessage) { return ( ); } // TODO: show an icon when download is complete, but not imported yet? } if (errorMessage) { return ( ); } if (status === 'failed') { return ( ); } if (status === 'warning') { return ( ); } if (progress < 5) { return ( ); } return progressBar; } QueueDetails.propTypes = { title: PropTypes.string.isRequired, size: PropTypes.number.isRequired, sizeleft: PropTypes.number.isRequired, estimatedCompletionTime: PropTypes.string, status: PropTypes.string.isRequired, errorMessage: PropTypes.string, progressBar: PropTypes.node.isRequired }; export default QueueDetails;