mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-02 21:32:42 +00:00
Move Localstorage load to GetInitialState
Prevents the extra change to the CodeMirror document which was creating a starting "undo" history point that would blank out the page.
This commit is contained in:
@@ -45,47 +45,44 @@ const NewPage = createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
getInitialState : function() {
|
getInitialState : function() {
|
||||||
|
const brew = this.props.brew;
|
||||||
|
|
||||||
|
if(typeof window !== 'undefined') { //Load from localStorage if in client browser
|
||||||
|
const brewStorage = localStorage.getItem(BREWKEY);
|
||||||
|
const styleStorage = localStorage.getItem(STYLEKEY);
|
||||||
|
const metaStorage = JSON.parse(localStorage.getItem(METAKEY));
|
||||||
|
|
||||||
|
if(!brew.text || !brew.style){
|
||||||
|
brew.text = brew.text || (brewStorage ?? '');
|
||||||
|
brew.style = brew.style || (styleStorage ?? undefined);
|
||||||
|
// brew.title = metaStorage?.title || this.state.brew.title;
|
||||||
|
// brew.description = metaStorage?.description || this.state.brew.description;
|
||||||
|
brew.renderer = metaStorage?.renderer || brew.renderer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
brew : {
|
brew : {
|
||||||
text : this.props.brew.text || '',
|
text : brew.text || '',
|
||||||
style : this.props.brew.style || undefined,
|
style : brew.style || undefined,
|
||||||
gDrive : false,
|
gDrive : false,
|
||||||
title : this.props.brew.title || '',
|
title : brew.title || '',
|
||||||
description : this.props.brew.description || '',
|
description : brew.description || '',
|
||||||
tags : this.props.brew.tags || '',
|
tags : brew.tags || '',
|
||||||
published : false,
|
published : false,
|
||||||
authors : [],
|
authors : [],
|
||||||
systems : this.props.brew.systems || [],
|
systems : brew.systems || [],
|
||||||
renderer : this.props.brew.renderer || 'legacy'
|
renderer : brew.renderer || 'legacy'
|
||||||
},
|
},
|
||||||
|
|
||||||
isSaving : false,
|
isSaving : false,
|
||||||
saveGoogle : (global.account && global.account.googleId ? true : false),
|
saveGoogle : (global.account && global.account.googleId ? true : false),
|
||||||
errors : null,
|
errors : null,
|
||||||
htmlErrors : Markdown.validate(this.props.brew.text)
|
htmlErrors : Markdown.validate(brew.text)
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
componentDidMount : function() {
|
componentDidMount : function() {
|
||||||
const brewStorage = localStorage.getItem(BREWKEY);
|
|
||||||
const styleStorage = localStorage.getItem(STYLEKEY);
|
|
||||||
const metaStorage = JSON.parse(localStorage.getItem(METAKEY));
|
|
||||||
|
|
||||||
const brew = this.state.brew;
|
|
||||||
|
|
||||||
if(!this.state.brew.text || !this.state.brew.style){
|
|
||||||
brew.text = this.state.brew.text || (brewStorage ?? '');
|
|
||||||
brew.style = this.state.brew.style || (styleStorage ?? undefined);
|
|
||||||
// brew.title = metaStorage?.title || this.state.brew.title;
|
|
||||||
// brew.description = metaStorage?.description || this.state.brew.description;
|
|
||||||
brew.renderer = metaStorage?.renderer || this.state.brew.renderer;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setState((prevState)=>({
|
|
||||||
brew : brew,
|
|
||||||
htmlErrors : Markdown.validate(prevState.brew.text)
|
|
||||||
}));
|
|
||||||
|
|
||||||
document.addEventListener('keydown', this.handleControlKeys);
|
document.addEventListener('keydown', this.handleControlKeys);
|
||||||
},
|
},
|
||||||
componentWillUnmount : function() {
|
componentWillUnmount : function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user