diff --git a/js/page/my_files.js b/js/page/my_files.js index 3f9139ea1..a7512dc93 100644 --- a/js/page/my_files.js +++ b/js/page/my_files.js @@ -1,17 +1,64 @@ -var MyFilesCellStyle = { - padding: '3px', - border: '2px solid black', +var removeIconColumnStyle = { + fontSize: '1.3em', + height: '120px', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', +}, +progressBarStyle = { + height: '15px', + width: '230px', + backgroundColor: '#444', + border: '2px solid #eee', + display: 'inline-block', }; var MyFilesRow = React.createClass({ + onRemoveClicked: function() { + var alertText = 'Are you sure you\'d like to remove "' + this.props.title + '?" This will ' + + (this.completed ? ' stop the download and ' : '') + + 'permanently remove the file from your system.'; + + if (confirm(alertText)) { + lbry.deleteFile(this.props.lbryUri); + } + }, + onPauseResumeClicked: function() { + if (this.props.stopped) { + lbry.startFile(this.props.lbryUri); + } else { + lbry.stopFile(this.props.lbryUri); + } + }, render: function() { + if (this.props.completed) { + var pauseLink = null; + var curProgressBarStyle = {display: 'none'}; + } else { + var pauseLink = { this.onPauseResumeClicked() }} />; + + var curProgressBarStyle = Object.assign({}, progressBarStyle); + curProgressBarStyle.width = this.props.ratioLoaded * 230; + curProgressBarStyle.borderRightWidth = 230 - (this.props.ratioLoaded * 230) + 2; + } return ( - - {this.props.streamName} - {this.props.completed ? 'True' : 'False'} - - - +
+
+ {'Photo +
+
+

{this.props.title}

+
+ { ' ' } + {this.props.completed ? 'Download complete' : (parseInt(this.props.ratioLoaded * 100) + '%')} +
{ pauseLink }
+
+
+
+
+
); } }); @@ -23,39 +70,34 @@ var MyFilesPage = React.createClass({ }; }, componentWillMount: function() { + this.updateFilesInfo(); + }, + updateFilesInfo: function() { lbry.getFilesInfo((filesInfo) => { this.setState({ - filesInfo: filesInfo + filesInfo: (filesInfo ? filesInfo : []), }); + setTimeout(() => { this.updateFilesInfo() }, 1000); }); }, render: function() { - if (!this.state.filesInfo) { + if (this.state.filesInfo === null) { return null; } else { - var rows = []; - for (let fileInfo of this.state.filesInfo) { - console.log(fileInfo); - rows.push(); + if (this.state.filesInfo.length == 0) { + var content = You haven't downloaded anything from LBRY yet. Go !; + } else { + var content = []; + for (let {completed, written_bytes, total_bytes, lbry_uri, metadata} of this.state.filesInfo) { + let {name, stopped, thumbnail} = metadata; + content.push(); + } } - console.log(rows); return (

My files

- - - - - - - - - - - {rows} - -
Stream nameCompletedToggleRemove
- + {content}