// TODO: Flesh out this page further. import Arrow from './Arrow'; import DownloadActions from '../actions/DownloadActions'; import DownloadStore from '../stores/DownloadStore'; import React from 'react'; import peer from '../peer'; function formatProgress(dec) { return (dec * 100).toPrecision(3) + "%"; } export default class DownloadPage extends React.Component { constructor() { this.state = DownloadStore.getState(); this._onChange = () => { this.setState(DownloadStore.getState()); }; this._onConnection = (conn) => { DownloadActions.beginDownload(conn); }; } componentDidMount() { DownloadStore.listen(this._onChange); peer.on('connection', this._onConnection); } componentDidUnmount() { DownloadStore.unlisten(this._onChange); peer.removeListener('connection', this._onConnection); } downloadFile() { DownloadActions.requestDownload(); } render() { switch (this.state.status) { case 'ready': return