mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-13 08:42:42 +00:00
Added new navitems
This commit is contained in:
9
client/homebrew/navbar/brewTitle.navitem.jsx
Normal file
9
client/homebrew/navbar/brewTitle.navitem.jsx
Normal file
@@ -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 <Nav.item className='brewTitle'>{props.title}</Nav.item>
|
||||||
|
}, (props) => {
|
||||||
|
return {title : Store.getMetaData().title};
|
||||||
|
})
|
||||||
10
client/homebrew/navbar/navitems.js
Normal file
10
client/homebrew/navbar/navitems.js
Normal file
@@ -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'),
|
||||||
|
};
|
||||||
@@ -4,11 +4,7 @@ const cx = require('classnames');
|
|||||||
|
|
||||||
const Nav = require('naturalcrit/nav/nav.jsx');
|
const Nav = require('naturalcrit/nav/nav.jsx');
|
||||||
const Navbar = require('../../navbar/navbar.jsx');
|
const Navbar = require('../../navbar/navbar.jsx');
|
||||||
|
const Items = require('../../navbar/navitems.js');
|
||||||
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 BrewInterface = require('homebrewery/brewInterface/brewInterface.jsx');
|
const BrewInterface = require('homebrewery/brewInterface/brewInterface.jsx');
|
||||||
const Utils = require('homebrewery/utils.js');
|
const Utils = require('homebrewery/utils.js');
|
||||||
@@ -47,16 +43,16 @@ const SmartNav = Store.createSmartComponent(React.createClass({
|
|||||||
render : function(){
|
render : function(){
|
||||||
return <Navbar>
|
return <Navbar>
|
||||||
<Nav.section>
|
<Nav.section>
|
||||||
<Nav.item className='brewTitle'>{this.props.brew.title}</Nav.item>
|
<Items.BrewTitle />
|
||||||
</Nav.section>
|
</Nav.section>
|
||||||
<Nav.section>
|
<Nav.section>
|
||||||
<Save />
|
<Items.ContinousSave />
|
||||||
<ReportIssue />
|
<Items.Issue />
|
||||||
<Nav.item newTab={true} href={'/share/' + this.props.brew.shareId} color='teal' icon='fa-share-alt'>
|
<Nav.item newTab={true} href={'/share/' + Store.getBrew().shareId} color='teal' icon='fa-share-alt'>
|
||||||
Share
|
Share
|
||||||
</Nav.item>
|
</Nav.item>
|
||||||
<PrintLink shareId={this.props.brew.shareId} />
|
<Items.Print />
|
||||||
<Account />
|
<Items.Account />
|
||||||
</Nav.section>
|
</Nav.section>
|
||||||
</Navbar>
|
</Navbar>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
const React = require('react');
|
const React = require('react');
|
||||||
const _ = require('lodash');
|
const _ = require('lodash');
|
||||||
|
|
||||||
|
|
||||||
const Nav = require('naturalcrit/nav/nav.jsx');
|
const Nav = require('naturalcrit/nav/nav.jsx');
|
||||||
const Navbar = require('../../navbar/navbar.jsx');
|
const Navbar = require('../../navbar/navbar.jsx');
|
||||||
const Account = require('../../navbar/account.navitem.jsx');
|
const Items = require('../../navbar/navitems.js');
|
||||||
const Issue = require('../../navbar/issue.navitem.jsx');
|
|
||||||
const Save = require('../../navbar/staticSave.navitem.jsx');
|
|
||||||
|
|
||||||
const Store = require('homebrewery/brew.store.js');
|
const Store = require('homebrewery/brew.store.js');
|
||||||
const Actions = require('homebrewery/brew.actions.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 BrewInterface = require('homebrewery/brewInterface/brewInterface.jsx');
|
||||||
const Utils = require('homebrewery/utils.js');
|
const Utils = require('homebrewery/utils.js');
|
||||||
|
|
||||||
|
|
||||||
const KEY = 'homebrewery-new';
|
const KEY = 'homebrewery-new';
|
||||||
|
|
||||||
const NewPage = React.createClass({
|
const NewPage = React.createClass({
|
||||||
componentDidMount: function() {
|
componentDidMount: function() {
|
||||||
const storage = localStorage.getItem(KEY);
|
try{
|
||||||
|
Actions.setBrew(JSON.parse(localStorage.getItem(KEY)));
|
||||||
|
}catch(e){}
|
||||||
//TODO: add a store listener for updates and dump to lcoal storage
|
Store.updateEmitter.on('change', this.saveToLocal);
|
||||||
|
|
||||||
|
|
||||||
if(storage){
|
|
||||||
this.setState({
|
|
||||||
text : storage
|
|
||||||
})
|
|
||||||
}
|
|
||||||
document.addEventListener('keydown', this.handleControlKeys);
|
document.addEventListener('keydown', this.handleControlKeys);
|
||||||
},
|
},
|
||||||
componentWillUnmount: function() {
|
componentWillUnmount: function() {
|
||||||
|
Store.updateEmitter.removeListener('change', this.saveToLocal);
|
||||||
document.removeEventListener('keydown', this.handleControlKeys);
|
document.removeEventListener('keydown', this.handleControlKeys);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
saveToLocal : function(){
|
||||||
|
localStorage.setItem(KEY, JSON.stringify(Store.getBrew()));
|
||||||
|
},
|
||||||
handleControlKeys : Utils.controlKeys({
|
handleControlKeys : Utils.controlKeys({
|
||||||
s : Actions.saveNew,
|
s : Actions.saveNew,
|
||||||
p : Actions.localPrint
|
p : Actions.localPrint
|
||||||
@@ -44,16 +38,16 @@ const NewPage = React.createClass({
|
|||||||
return <div className='newPage page'>
|
return <div className='newPage page'>
|
||||||
<Navbar>
|
<Navbar>
|
||||||
<Nav.section>
|
<Nav.section>
|
||||||
<Nav.item className='brewTitle'>{Store.getMetaData().title}</Nav.item>
|
<Items.BrewTitle />
|
||||||
</Nav.section>
|
</Nav.section>
|
||||||
|
|
||||||
<Nav.section>
|
<Nav.section>
|
||||||
<Save />
|
<Items.StaticSave />
|
||||||
<Nav.item color='purple' icon='fa-file-pdf-o' onClick={Actions.localPrint}>
|
<Nav.item color='purple' icon='fa-file-pdf-o' onClick={Actions.localPrint}>
|
||||||
get PDF
|
get PDF
|
||||||
</Nav.item>
|
</Nav.item>
|
||||||
<Issue />
|
<Items.Issue />
|
||||||
<Account />
|
<Items.Account />
|
||||||
</Nav.section>
|
</Nav.section>
|
||||||
</Navbar>
|
</Navbar>
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ const Actions = {
|
|||||||
.send(Store.getBrew())
|
.send(Store.getBrew())
|
||||||
.end((err, res)=>{
|
.end((err, res)=>{
|
||||||
if(err) return dispatch('SET_STATUS', 'error', err);
|
if(err) return dispatch('SET_STATUS', 'error', err);
|
||||||
|
localStorage.setItem('homebrewery-new', null);
|
||||||
const brew = res.body;
|
const brew = res.body;
|
||||||
window.location = '/edit/' + brew.editId;
|
window.location = '/edit/' + brew.editId;
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user