2016-04-10 02:00:56 +02:00
|
|
|
var appStyles = {
|
|
|
|
width: '800px',
|
|
|
|
marginLeft: 'auto',
|
|
|
|
marginRight: 'auto',
|
|
|
|
};
|
|
|
|
var App = React.createClass({
|
|
|
|
getInitialState: function() {
|
2016-04-21 11:51:27 +02:00
|
|
|
// For now, routes are in format ?page or ?page=args
|
|
|
|
var match, param, val;
|
|
|
|
[match, param, val] = window.location.search.match(/\??([^=]*)(?:=(.*))?/);
|
|
|
|
|
2016-04-23 14:20:54 +02:00
|
|
|
if (['settings', 'help', 'start', 'watch', 'report'].indexOf(param) != -1) {
|
2016-04-21 11:51:27 +02:00
|
|
|
var viewingPage = param;
|
2016-04-20 12:28:13 +02:00
|
|
|
} else {
|
|
|
|
var viewingPage = 'home';
|
2016-04-10 02:00:56 +02:00
|
|
|
}
|
2016-04-20 12:28:13 +02:00
|
|
|
|
|
|
|
return {
|
2016-04-21 11:51:27 +02:00
|
|
|
viewingPage: viewingPage,
|
|
|
|
pageArgs: val,
|
2016-04-20 12:28:13 +02:00
|
|
|
};
|
2016-04-10 02:00:56 +02:00
|
|
|
},
|
2016-04-12 12:30:25 +02:00
|
|
|
componentWillMount: function() {
|
|
|
|
lbry.checkNewVersionAvailable(function(isAvailable) {
|
|
|
|
if (isAvailable) {
|
2016-04-20 11:46:13 +02:00
|
|
|
var message = "The version of LBRY you're using is not up to date.\n\n" +
|
|
|
|
"You'll now be taken to lbry.io, where you can download the latest version.";
|
|
|
|
|
|
|
|
lbry.getVersionInfo(function(versionInfo) {
|
|
|
|
var maj, min, patch;
|
|
|
|
[maj, min, patch] = versionInfo.lbrynet_version.split('.');
|
|
|
|
|
|
|
|
if (versionInfo.os_system == 'Darwin' && maj == 0 && min <= 2 && patch <= 2) {
|
|
|
|
// On OS X with version <= 0.2.2, we need to notify user to close manually close LBRY
|
2016-04-20 21:25:39 +02:00
|
|
|
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.\"";
|
2016-04-20 11:46:13 +02:00
|
|
|
} else {
|
|
|
|
lbry.stop();
|
|
|
|
}
|
|
|
|
|
|
|
|
alert(message);
|
|
|
|
window.location = "http://www.lbry.io/" + (versionInfo.os_system == 'Darwin' ? 'osx' : 'linux');
|
|
|
|
});
|
2016-04-12 12:30:25 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
2016-04-10 02:00:56 +02:00
|
|
|
render: function() {
|
|
|
|
if (this.state.viewingPage == 'home') {
|
2016-04-10 02:03:23 +02:00
|
|
|
var content = <HomePage />;
|
2016-04-10 02:00:56 +02:00
|
|
|
} else if (this.state.viewingPage == 'settings') {
|
2016-04-10 02:03:23 +02:00
|
|
|
var content = <SettingsPage />;
|
2016-04-20 12:28:13 +02:00
|
|
|
} else if (this.state.viewingPage == 'help') {
|
|
|
|
var content = <HelpPage />;
|
2016-04-21 11:51:27 +02:00
|
|
|
} else if (this.state.viewingPage == 'watch') {
|
|
|
|
var content = <WatchPage name={this.state.pageArgs}/>;
|
2016-04-23 14:20:54 +02:00
|
|
|
} else if (this.state.viewingPage == 'report') {
|
|
|
|
var content = <ReportPage />;
|
2016-04-20 13:51:31 +02:00
|
|
|
} else if (this.state.viewingPage == 'start') {
|
|
|
|
var content = <StartPage />;
|
2016-04-10 02:00:56 +02:00
|
|
|
}
|
|
|
|
return (
|
|
|
|
<div style={appStyles}>
|
|
|
|
{content}
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
});
|