From 0eaeb748f433c3252817e230cce396880c34bd2f Mon Sep 17 00:00:00 2001 From: Sean Robertson Date: Mon, 21 Jun 2021 16:15:37 +1200 Subject: [PATCH 1/4] Add local storage key to store Brew Style data Add local storage key for storing Brew Style data. --- client/homebrew/pages/newPage/newPage.jsx | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index 14f14a987..70c9b96d3 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -17,7 +17,9 @@ const SplitPane = require('naturalcrit/splitPane/splitPane.jsx'); const Editor = require('../../editor/editor.jsx'); const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx'); -const KEY = 'homebrewery-new'; +const BREWKEY = 'homebrewery-new'; +const STYLEKEY = 'homebrewery-new-style'; + const NewPage = createClass({ getDefaultProps : function() { @@ -70,10 +72,16 @@ const NewPage = createClass({ }, componentDidMount : function() { - const storage = localStorage.getItem(KEY); - if(!this.props.brew.text && storage){ + const brewStorage = localStorage.getItem(BREWKEY); + if(!this.props.brew.text && brewStorage){ 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 }), htmlErrors : htmlErrors })); - localStorage.setItem(KEY, text); + localStorage.setItem(BREWKEY, text); }, handleStyleChange : function(style){ this.setState((prevState)=>({ brew : _.merge({}, prevState.brew, { style: style }), })); + localStorage.setItem(STYLEKEY, style); }, handleMetaChange : function(metadata){ @@ -148,7 +157,7 @@ const NewPage = createClass({ }); const brew = res.body; - localStorage.removeItem(KEY); + localStorage.removeItem(BREWKEY); window.location = `/edit/${brew.googleId}${brew.editId}`; } else { request.post('/api') @@ -162,7 +171,7 @@ const NewPage = createClass({ } window.onbeforeunload = function(){}; const brew = res.body; - localStorage.removeItem(KEY); + localStorage.removeItem(BREWKEY); window.location = `/edit/${brew.editId}`; }); } From 09c7f45c69505e2b121f723be0f690948b30be45 Mon Sep 17 00:00:00 2001 From: Sean Robertson Date: Mon, 21 Jun 2021 16:27:18 +1200 Subject: [PATCH 2/4] Clear data from new key when appropriate --- client/homebrew/pages/newPage/newPage.jsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index 70c9b96d3..b80990001 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -158,6 +158,7 @@ const NewPage = createClass({ const brew = res.body; localStorage.removeItem(BREWKEY); + localStorage.removeItem(STYLEKEY); window.location = `/edit/${brew.googleId}${brew.editId}`; } else { request.post('/api') @@ -172,6 +173,7 @@ const NewPage = createClass({ window.onbeforeunload = function(){}; const brew = res.body; localStorage.removeItem(BREWKEY); + localStorage.removeItem(STYLEKEY); window.location = `/edit/${brew.editId}`; }); } From 142c9ad3b7a60d4f4d7a8f7f6f0903538c3da3a1 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Mon, 21 Jun 2021 20:14:58 +1200 Subject: [PATCH 3/4] Fix loading Style data from local storage, and add fix for Linter. --- client/homebrew/pages/newPage/newPage.jsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index b80990001..2debb104c 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -1,3 +1,4 @@ +/*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/ require('./newPage.less'); const React = require('react'); const createClass = require('create-react-class'); @@ -77,13 +78,13 @@ const NewPage = createClass({ this.setState({ brew : { text: brewStorage } }); - } + }; const styleStorage = localStorage.getItem(STYLEKEY); - if(!this.props.brew.text && styleStorage){ + if(!this.props.brew.style && styleStorage){ this.setState({ brew : { style: styleStorage } }); - } + }; this.setState((prevState)=>({ htmlErrors : Markdown.validate(prevState.brew.text) From 0616ce62eb7f051e661b08359fbb6507f527f812 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Fri, 25 Jun 2021 00:15:49 -0400 Subject: [PATCH 4/4] Rearrange so loading from one doesn't override the other --- client/homebrew/pages/newPage/newPage.jsx | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index 01fd9d916..dcaff6a31 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -64,18 +64,17 @@ const NewPage = createClass({ }, componentDidMount : function() { - const brewStorage = localStorage.getItem(BREWKEY); - if(!this.props.brew.text && brewStorage){ - this.setState({ - brew : { text: brewStorage } - }); - }; + const brewStorage = localStorage.getItem(BREWKEY); const styleStorage = localStorage.getItem(STYLEKEY); - if(!this.props.brew.style && styleStorage){ + + if(!this.props.brew.text || !this.props.brew.style){ this.setState({ - brew : { style: styleStorage } + brew : { + text : this.props.brew.text || (brewStorage ?? ''), + style : this.props.brew.style || (styleStorage ?? undefined) + } }); - }; + } this.setState((prevState)=>({ htmlErrors : Markdown.validate(prevState.brew.text)