import { Grid } from '@mui/material' import { useRecoilValue } from 'recoil' import { activeDownloadsState } from '../atoms/downloads' import { useToast } from '../hooks/toast' import { useI18n } from '../hooks/useI18n' import { useRPC } from '../hooks/useRPC' import { ProcessStatus, RPCResult } from '../types' import DownloadCard from './DownloadCard' const DownloadsGridView: React.FC = () => { const downloads = useRecoilValue(activeDownloadsState) const { i18n } = useI18n() const { client } = useRPC() const { pushMessage } = useToast() const stop = (r: RPCResult) => r.progress.process_status === ProcessStatus.Completed ? client.clear(r.id) : client.kill(r.id) return ( { downloads.map(download => ( stop(download)} onCopy={() => pushMessage(i18n.t('clipboardAction'), 'info')} /> )) } ) } export default DownloadsGridView