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'} |
- |
- |
-
+
+
+

+
+
+
{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
-
-
-
- Stream name |
- Completed |
- Toggle |
- Remove |
-
-
-
- {rows}
-
-
-
+ {content}