lbry-desktop/ui/component/webUploadList/view.jsx
2019-11-25 12:43:45 -05:00

42 lines
1.1 KiB
JavaScript

// @flow
import * as React from 'react';
import Card from 'component/common/card';
import WebUploadItem from './internal/web-upload-item';
export type UploadItem = {
progess: string,
params: UpdatePublishFormData,
xhr?: { abort: () => void },
};
type Props = {
currentUploads: { [key: string]: UploadItem },
uploadCount: number,
};
export default function WebUploadList(props: Props) {
const { currentUploads, uploadCount } = props;
return (
!!uploadCount && (
<div>
<Card
title={__('Currently Uploading')}
subtitle={
uploadCount > 1
? __('You files are currently uploading. This will update automatically.')
: __('Your file is currently uploading. This will update automatically.')
}
body={
<section>
{/* $FlowFixMe */}
{Object.values(currentUploads).map(({ progress, params, xhr }) => (
<WebUploadItem key={`upload${params.name}`} progress={progress} params={params} xhr={xhr} />
))}
</section>
}
/>
</div>
)
);
}