fix(downloading): always show downloading on list even if download not started

This commit is contained in:
Alexey Kasyanchuk
2018-06-26 19:31:18 +03:00
parent c321286d6c
commit 6bd4d69e4c
3 changed files with 41 additions and 37 deletions

View File

@ -45,8 +45,9 @@ export default class TopPage extends Page {
}} />
<List style={{paddingBottom: '70px', minWidth: '60%'}} className='animated recent-torrents'>
{
this.downloads.map((download, index) => {
return <TorrentLine key={index} torrent={download.torrentObject} download={download} />
this.downloads.map((torrentDownload, index) => {
const {torrentObject: torrent, ...download} = torrentDownload
return <TorrentLine key={index} torrent={torrent} download={download} />
})
}
</List>

View File

@ -171,6 +171,7 @@ export default class Torrent extends Component {
this.state.downloadProgress = {
progress, downloaded, downloadSpeed
}
this.state.downloading = true
}
}
componentDidMount()
@ -303,21 +304,21 @@ export default class Torrent extends Component {
/>
<div className='row center pad0-5 fs0-85 text-nowrap' style={{color: torrentRating >= 50 ? '#00E676' : '#FF3D00', width: '190px'}}>{__('Torrent rating')}: {torrentRating}%</div>
</div>
}
{
this.state.downloading
&&
<div className='row w100p inline text-nowrap' style={{maxWidth: 580}}>
<div style={{marginRight: 5, color: 'rgb(0, 188, 212)'}}>{__('downloading')}: </div>
<LinearProgress
style={{height: '5px', width: '44%', marginTop: 2}}
mode="determinate"
value={this.state.downloadProgress && (this.state.downloadProgress.progress ? this.state.downloadProgress.progress : 0) * 100}
/>
<div className='pad0-75' style={{marginLeft: 20}} style={{color: 'rgb(0, 188, 212)'}}>{this.state.downloadProgress && (this.state.downloadProgress.progress * 100).toFixed(1)}%</div>
<div style={{marginLeft: 5, color: 'rgb(0, 188, 212)'}}>{this.state.downloadProgress && formatBytes(this.state.downloadProgress.downloadSpeed || 0, 0)}/s</div>
</div>
}
}
{
this.state.downloading
&&
<div className='row w100p inline text-nowrap' style={{maxWidth: 580}}>
<div style={{marginRight: 5, color: 'rgb(0, 188, 212)'}}>{__('downloading')}: </div>
<LinearProgress
style={{height: '5px', width: '44%', marginTop: 2}}
mode="determinate"
value={this.state.downloadProgress && (this.state.downloadProgress.progress ? this.state.downloadProgress.progress : 0) * 100}
/>
<div className='pad0-75' style={{marginLeft: 20}} style={{color: 'rgb(0, 188, 212)'}}>{this.state.downloadProgress && (this.state.downloadProgress.progress * 100).toFixed(1)}%</div>
<div style={{marginLeft: 5, color: 'rgb(0, 188, 212)'}}>{this.state.downloadProgress && formatBytes(this.state.downloadProgress.downloadSpeed || 0, 0)}/s</div>
</div>
}
</div>
</a>
}