0
0
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:
Sean Robertson
2021-06-21 16:15:37 +12:00
parent d61fda9cff
commit 0eaeb748f4

View File

@@ -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}`;
}); });
} }