0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-11 00:22:43 +00:00

Merge pull request #1401 from G-Ambatte/addStyleToLocalStorage

Add local storage key for Brew Style data
This commit is contained in:
Trevor Buckner
2021-06-25 00:17:11 -04:00
committed by GitHub

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() {
@@ -62,10 +64,15 @@ const NewPage = createClass({
}, },
componentDidMount : function() { componentDidMount : function() {
const storage = localStorage.getItem(KEY); const brewStorage = localStorage.getItem(BREWKEY);
if(!this.props.brew.text && storage){ const styleStorage = localStorage.getItem(STYLEKEY);
if(!this.props.brew.text || !this.props.brew.style){
this.setState({ this.setState({
brew : { text: storage } brew : {
text : this.props.brew.text || (brewStorage ?? ''),
style : this.props.brew.style || (styleStorage ?? undefined)
}
}); });
} }
@@ -104,13 +111,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 +156,8 @@ const NewPage = createClass({
}); });
const brew = res.body; const brew = res.body;
localStorage.removeItem(KEY); localStorage.removeItem(BREWKEY);
localStorage.removeItem(STYLEKEY);
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,8 @@ const NewPage = createClass({
} }
window.onbeforeunload = function(){}; window.onbeforeunload = function(){};
const brew = res.body; const brew = res.body;
localStorage.removeItem(KEY); localStorage.removeItem(BREWKEY);
localStorage.removeItem(STYLEKEY);
window.location = `/edit/${brew.editId}`; window.location = `/edit/${brew.editId}`;
}); });
} }