import React from 'react' import DownloadActions from '../actions/DownloadActions' import DownloadStore from '../stores/DownloadStore' import { formatSize } from '../util' import ChromeNotice from './ChromeNotice' import DownloadButton from './DownloadButton' import ErrorPage from './ErrorPage' import ProgressBar from './ProgressBar' import Spinner from './Spinner' export default class DownloadPage extends React.Component { constructor() { super() this.state = DownloadStore.getState() this._onChange = () => { this.setState(DownloadStore.getState()) } this.downloadFile = this.downloadFile.bind(this) } componentDidMount() { DownloadStore.listen(this._onChange) } componentWillUnmount() { DownloadStore.unlisten(this._onChange) } downloadFile() { DownloadActions.requestDownload() } render() { switch (this.state.status) { case 'ready': return (
Peers: {this.state.peers} · Up:{' '} {formatSize(this.state.speedUp)} · Down:{' '} {formatSize(this.state.speedDown)}
Peers: {this.state.peers} · Up:{' '} {formatSize(this.state.speedUp)} · Down:{' '} {formatSize(this.state.speedDown)}
Peers: {this.state.peers} · Up:{' '} {formatSize(this.state.speedUp)} · Down:{' '} {formatSize(this.state.speedDown)}