diff --git a/client/homebrew/navbar/brewTitle.navitem.jsx b/client/homebrew/navbar/brewTitle.navitem.jsx
new file mode 100644
index 000000000..8bec43ada
--- /dev/null
+++ b/client/homebrew/navbar/brewTitle.navitem.jsx
@@ -0,0 +1,9 @@
+const React = require('react');
+const Nav = require('naturalcrit/nav/nav.jsx');
+const Store = require('homebrewery/brew.store.js');
+
+module.exports = Store.createSmartComponent((props) => {
+ return {props.title}
+}, (props) => {
+ return {title : Store.getMetaData().title};
+})
\ No newline at end of file
diff --git a/client/homebrew/navbar/navitems.js b/client/homebrew/navbar/navitems.js
new file mode 100644
index 000000000..c0a43d8d8
--- /dev/null
+++ b/client/homebrew/navbar/navitems.js
@@ -0,0 +1,10 @@
+module.exports = {
+ Account : require('./account.navitem.jsx'),
+ BrewTitle : require('./brewTitle.navitem.jsx'),
+ ContinousSave : require('./continousSave.navitem.jsx'),
+ Issue : require('./issue.navitem.jsx'),
+ Patreon : require('./patreon.navitem.jsx'),
+ Print : require('./print.navitem.jsx'),
+ Recent : require('./recent.navitem.jsx'),
+ StaticSave : require('./staticSave.navitem.jsx'),
+};
\ No newline at end of file
diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx
index 3d5666e20..58aecbbcd 100644
--- a/client/homebrew/pages/editPage/editPage.jsx
+++ b/client/homebrew/pages/editPage/editPage.jsx
@@ -4,11 +4,7 @@ const cx = require('classnames');
const Nav = require('naturalcrit/nav/nav.jsx');
const Navbar = require('../../navbar/navbar.jsx');
-
-const ReportIssue = require('../../navbar/issue.navitem.jsx');
-const PrintLink = require('../../navbar/print.navitem.jsx');
-const Account = require('../../navbar/account.navitem.jsx');
-const Save = require('../../navbar/continousSave.navitem.jsx');
+const Items = require('../../navbar/navitems.js');
const BrewInterface = require('homebrewery/brewInterface/brewInterface.jsx');
const Utils = require('homebrewery/utils.js');
@@ -47,16 +43,16 @@ const SmartNav = Store.createSmartComponent(React.createClass({
render : function(){
return
- {this.props.brew.title}
+
-
-
-
+
+
+
Share
-
-
+
+
}
diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx
index 0a27cfcd8..38bb4995f 100644
--- a/client/homebrew/pages/newPage/newPage.jsx
+++ b/client/homebrew/pages/newPage/newPage.jsx
@@ -1,12 +1,9 @@
const React = require('react');
const _ = require('lodash');
-
const Nav = require('naturalcrit/nav/nav.jsx');
const Navbar = require('../../navbar/navbar.jsx');
-const Account = require('../../navbar/account.navitem.jsx');
-const Issue = require('../../navbar/issue.navitem.jsx');
-const Save = require('../../navbar/staticSave.navitem.jsx');
+const Items = require('../../navbar/navitems.js');
const Store = require('homebrewery/brew.store.js');
const Actions = require('homebrewery/brew.actions.js');
@@ -14,27 +11,24 @@ const Actions = require('homebrewery/brew.actions.js');
const BrewInterface = require('homebrewery/brewInterface/brewInterface.jsx');
const Utils = require('homebrewery/utils.js');
-
const KEY = 'homebrewery-new';
const NewPage = React.createClass({
componentDidMount: function() {
- const storage = localStorage.getItem(KEY);
-
-
- //TODO: add a store listener for updates and dump to lcoal storage
-
-
- if(storage){
- this.setState({
- text : storage
- })
- }
+ try{
+ Actions.setBrew(JSON.parse(localStorage.getItem(KEY)));
+ }catch(e){}
+ Store.updateEmitter.on('change', this.saveToLocal);
document.addEventListener('keydown', this.handleControlKeys);
},
componentWillUnmount: function() {
+ Store.updateEmitter.removeListener('change', this.saveToLocal);
document.removeEventListener('keydown', this.handleControlKeys);
},
+
+ saveToLocal : function(){
+ localStorage.setItem(KEY, JSON.stringify(Store.getBrew()));
+ },
handleControlKeys : Utils.controlKeys({
s : Actions.saveNew,
p : Actions.localPrint
@@ -44,16 +38,16 @@ const NewPage = React.createClass({
return
- {Store.getMetaData().title}
+
-
+
get PDF
-
-
+
+
diff --git a/shared/homebrewery/brew.actions.js b/shared/homebrewery/brew.actions.js
index b489fcafa..6c8d32bfe 100644
--- a/shared/homebrewery/brew.actions.js
+++ b/shared/homebrewery/brew.actions.js
@@ -43,6 +43,7 @@ const Actions = {
.send(Store.getBrew())
.end((err, res)=>{
if(err) return dispatch('SET_STATUS', 'error', err);
+ localStorage.setItem('homebrewery-new', null);
const brew = res.body;
window.location = '/edit/' + brew.editId;
});