lbry-desktop/js/app.js

77 lines
2.6 KiB
JavaScript
Raw Normal View History

2016-04-09 20:00:56 -04:00
var App = React.createClass({
getInitialState: function() {
2016-04-21 05:51:27 -04:00
// For now, routes are in format ?page or ?page=args
var match, param, val;
[match, param, val] = window.location.search.match(/\??([^=]*)(?:=(.*))?/);
2016-05-23 11:14:21 -04:00
if (['settings', 'help', 'start', 'watch', 'report', 'files', 'claim', 'show', 'wallet', 'publish'].indexOf(param) != -1) {
2016-04-21 05:51:27 -04:00
var viewingPage = param;
2016-04-20 06:28:13 -04:00
} else {
var viewingPage = 'home';
2016-04-09 20:00:56 -04:00
}
2016-04-20 06:28:13 -04:00
return {
2016-04-21 05:51:27 -04:00
viewingPage: viewingPage,
pageArgs: val,
2016-04-20 06:28:13 -04:00
};
2016-04-09 20:00:56 -04:00
},
componentWillMount: function() {
lbry.checkNewVersionAvailable(function(isAvailable) {
if (!isAvailable) {
return;
}
var message = 'The version of LBRY you\'re using is not up to date.\n\n' +
'Choose "OK" to download the latest version."';
lbry.getVersionInfo(function(versionInfo) {
if (versionInfo.os_system == 'Darwin') {
var updateUrl = 'https://lbry.io/get/lbry.dmg';
var maj, min, patch;
[maj, min, patch] = versionInfo.lbrynet_version.split('.');
if (maj == 0 && min <= 2 && patch <= 2) {
// On OS X with version <= 0.2.2, we need to notify user to close manually close LBRY
message += '\n\nBefore installing the new version, make sure to exit LBRY, if you started the app ' +
'click that LBRY icon in your status bar and choose "Quit."';
}
} else {
var updateUrl = 'https://lbry.io/get/lbry.deb';
}
if (window.confirm(message)) {
2016-06-30 00:35:56 -04:00
lbry.stop();
window.location = updateUrl;
};
});
});
},
2016-04-09 20:00:56 -04:00
render: function() {
if (this.state.viewingPage == 'home') {
return <HomePage />;
2016-04-09 20:00:56 -04:00
} else if (this.state.viewingPage == 'settings') {
return <SettingsPage />;
2016-04-20 06:28:13 -04:00
} else if (this.state.viewingPage == 'help') {
return <HelpPage />;
2016-04-21 05:51:27 -04:00
} else if (this.state.viewingPage == 'watch') {
return <WatchPage name={this.state.pageArgs}/>;
} else if (this.state.viewingPage == 'report') {
return <ReportPage />;
2016-05-10 06:36:54 -04:00
} else if (this.state.viewingPage == 'files') {
return <MyFilesPage />;
} else if (this.state.viewingPage == 'start') {
return <StartPage />;
2016-07-04 11:29:58 -04:00
} else if (this.state.viewingPage == 'claim') {
return <ClaimCodePage />;
2016-07-19 23:23:05 -05:00
} else if (this.state.viewingPage == 'wallet') {
return <WalletPage />;
2016-07-15 21:58:24 -05:00
} else if (this.state.viewingPage == 'show') {
2016-07-16 00:19:40 -05:00
return <DetailPage name={this.state.pageArgs}/>;
2016-07-18 17:40:15 -05:00
} else if (this.state.viewingPage == 'wallet') {
return <WalletPage />;
2016-05-23 11:14:21 -04:00
} else if (this.state.viewingPage == 'publish') {
return <PublishPage />;
2016-04-09 20:00:56 -04:00
}
}
});