0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-29 15:32:40 +00:00

Added in a much better error page

This commit is contained in:
Scott Tolksdorf
2016-08-20 12:23:24 -04:00
parent 62d70022e7
commit 6b337b5d69
6 changed files with 76 additions and 15 deletions

View File

@@ -8,6 +8,7 @@ var HomePage = require('./pages/homePage/homePage.jsx');
var EditPage = require('./pages/editPage/editPage.jsx');
var SharePage = require('./pages/sharePage/sharePage.jsx');
var NewPage = require('./pages/newPage/newPage.jsx');
var ErrorPage = require('./pages/errorPage/errorPage.jsx');
var Router;
var Homebrew = React.createClass({
@@ -30,6 +31,10 @@ var Homebrew = React.createClass({
componentWillMount: function() {
Router = CreateRouter({
'/edit/:id' : (args) => {
if(!this.props.brew.editId){
return <ErrorPage ver={this.props.version} errorId={args.id}/>
}
return <EditPage
ver={this.props.version}
id={args.id}
@@ -37,6 +42,10 @@ var Homebrew = React.createClass({
},
'/share/:id' : (args) => {
if(!this.props.brew.shareId){
return <ErrorPage ver={this.props.version} errorId={args.id}/>
}
return <SharePage
ver={this.props.version}
id={args.id}

View File

@@ -53,6 +53,9 @@ var EditPage = React.createClass({
savedBrew : null,
componentDidMount: function(){
console.log('getting here');
this.debounceSave = _.debounce(this.save, SAVE_TIMEOUT);
window.onbeforeunload = ()=>{
if(this.state.isSaving || this.state.isPending){

View File

@@ -0,0 +1,46 @@
var React = require('react');
var _ = require('lodash');
var cx = require('classnames');
var Nav = require('naturalcrit/nav/nav.jsx');
var Navbar = require('../../navbar/navbar.jsx');
var PatreonNavItem = require('../../navbar/patreon.navitem.jsx');
var IssueNavItem = require('../../navbar/issue.navitem.jsx');
var RecentNavItem = require('../../navbar/recent.navitem.jsx');
var BrewRenderer = require('../../brewRenderer/brewRenderer.jsx');
var ErrorPage = React.createClass({
getDefaultProps: function() {
return {
ver : '0.0.0',
errorId: ''
};
},
text : '# Oops \n We could not find a brew with that id. **Sorry!**',
render : function(){
return <div className='errorPage page'>
<Navbar ver={this.props.ver}>
<Nav.section>
<Nav.item className='errorTitle'>
Crit Fail!
</Nav.item>
</Nav.section>
<Nav.section>
<PatreonNavItem />
<IssueNavItem />
<RecentNavItem.both errorId={this.props.errorId} />
</Nav.section>
</Navbar>
<div className='content'>
<BrewRenderer text={this.text} />
</div>
</div>
}
});
module.exports = ErrorPage;

View File

@@ -0,0 +1,5 @@
.errorPage{
.errorTitle{
background-color: @orange;
}
}