import React, { Component } from 'react'; import { connect } from 'react-redux'; import { activeTorrents, selectTorrent, selectop } from '../torrent_state'; function formatBitrate(bitrate) { if (bitrate > 1000000000) { return `${(bitrate / 1000000000).toFixed(2)} Gb/s`; } else if (bitrate > 1000000) { return `${(bitrate / 1000000).toFixed(2)} Mb/s`; } else if (bitrate > 1000) { return `${(bitrate / 1000).toFixed(2)} Kb/s`; } else { return `${bitrate} b/s`; } } class TorrentTable extends Component { render() { const { torrents } = this.props; const active = activeTorrents(); return ( {Object.values(torrents).map(t => )}
name up down ratio
selectTorrent(t, e.target.checked ? selectop.UNION : selectop.SUBTRACT)} /> { e.preventDefault(); selectTorrent(t, selectop.EXCLUSIVE); }} > {t.name} {formatBitrate(t.rate_up)} {formatBitrate(t.rate_down)} {(t.transferred_up / t.transferred_down).toFixed(2)}
); } } export default connect(state => ({ torrents: state.torrents, router: state.router }))(TorrentTable);