mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-11 13:22:39 +00:00
Add local storage key to store Brew Style data
Add local storage key for storing Brew Style data.
This commit is contained in:
@@ -17,7 +17,9 @@ const SplitPane = require('naturalcrit/splitPane/splitPane.jsx');
|
|||||||
const Editor = require('../../editor/editor.jsx');
|
const Editor = require('../../editor/editor.jsx');
|
||||||
const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx');
|
const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx');
|
||||||
|
|
||||||
const KEY = 'homebrewery-new';
|
const BREWKEY = 'homebrewery-new';
|
||||||
|
const STYLEKEY = 'homebrewery-new-style';
|
||||||
|
|
||||||
|
|
||||||
const NewPage = createClass({
|
const NewPage = createClass({
|
||||||
getDefaultProps : function() {
|
getDefaultProps : function() {
|
||||||
@@ -70,10 +72,16 @@ const NewPage = createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
componentDidMount : function() {
|
componentDidMount : function() {
|
||||||
const storage = localStorage.getItem(KEY);
|
const brewStorage = localStorage.getItem(BREWKEY);
|
||||||
if(!this.props.brew.text && storage){
|
if(!this.props.brew.text && brewStorage){
|
||||||
this.setState({
|
this.setState({
|
||||||
brew : { text: storage }
|
brew : { text: brewStorage }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const styleStorage = localStorage.getItem(STYLEKEY);
|
||||||
|
if(!this.props.brew.text && styleStorage){
|
||||||
|
this.setState({
|
||||||
|
brew : { style: styleStorage }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,13 +120,14 @@ const NewPage = createClass({
|
|||||||
brew : _.merge({}, prevState.brew, { text: text }),
|
brew : _.merge({}, prevState.brew, { text: text }),
|
||||||
htmlErrors : htmlErrors
|
htmlErrors : htmlErrors
|
||||||
}));
|
}));
|
||||||
localStorage.setItem(KEY, text);
|
localStorage.setItem(BREWKEY, text);
|
||||||
},
|
},
|
||||||
|
|
||||||
handleStyleChange : function(style){
|
handleStyleChange : function(style){
|
||||||
this.setState((prevState)=>({
|
this.setState((prevState)=>({
|
||||||
brew : _.merge({}, prevState.brew, { style: style }),
|
brew : _.merge({}, prevState.brew, { style: style }),
|
||||||
}));
|
}));
|
||||||
|
localStorage.setItem(STYLEKEY, style);
|
||||||
},
|
},
|
||||||
|
|
||||||
handleMetaChange : function(metadata){
|
handleMetaChange : function(metadata){
|
||||||
@@ -148,7 +157,7 @@ const NewPage = createClass({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const brew = res.body;
|
const brew = res.body;
|
||||||
localStorage.removeItem(KEY);
|
localStorage.removeItem(BREWKEY);
|
||||||
window.location = `/edit/${brew.googleId}${brew.editId}`;
|
window.location = `/edit/${brew.googleId}${brew.editId}`;
|
||||||
} else {
|
} else {
|
||||||
request.post('/api')
|
request.post('/api')
|
||||||
@@ -162,7 +171,7 @@ const NewPage = createClass({
|
|||||||
}
|
}
|
||||||
window.onbeforeunload = function(){};
|
window.onbeforeunload = function(){};
|
||||||
const brew = res.body;
|
const brew = res.body;
|
||||||
localStorage.removeItem(KEY);
|
localStorage.removeItem(BREWKEY);
|
||||||
window.location = `/edit/${brew.editId}`;
|
window.location = `/edit/${brew.editId}`;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user