import Centered from './Centered' import DropZone from './DropZone' import ProgressBar from './ProgressBar' import React from 'react' import Spinner from './Spinner' import Tempalink from './Tempalink' import UploadActions from '../actions/UploadActions' import UploadStore from '../stores/UploadStore' import socket from 'filepizza-socket' export default class UploadPage extends React.Component { constructor() { this.state = UploadStore.getState() this._onChange = () => { this.setState(UploadStore.getState()) } this._onDownload = (peerID) => { UploadActions.sendToDownloader(peerID) } } componentDidMount() { UploadStore.listen(this._onChange) socket.on('download', this._onDownload) } componentDidUnmount() { UploadStore.unlisten(this._onChange) socket.removeListener('download', this._onDownload) } uploadFile(file) { UploadActions.uploadFile(file) } handleSelectedFile(event) { let files = event.target.files; if (files.length > 0) { UploadActions.uploadFile(files[0]); } } render() { switch (this.state.status) { case 'ready': return

FilePizza

Free peer-to-peer file transfers in your browser.

We never store anything. Files only served fresh.

case 'processing': return

FilePizza

Processing...

case 'uploading': var keys = Object.keys(this.state.peerProgress) keys.reverse() return

FilePizza

Send someone this link to download.

This link will work as long as this page is open.

{keys.length > 0 ?

Download Progress

: null}
{keys.map((key) => { return })}
} } }