diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index 04004034e..c1887a83f 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -274,7 +274,6 @@ const NewPage = createClass({ }, print : function(){ - localStorage.setItem('print', `\n\n${this.state.brew.text}`); window.open('/print?dialog=true&local=print', '_blank'); }, diff --git a/client/homebrew/pages/printPage/printPage.jsx b/client/homebrew/pages/printPage/printPage.jsx index d90cc37c0..e5b7160c6 100644 --- a/client/homebrew/pages/printPage/printPage.jsx +++ b/client/homebrew/pages/printPage/printPage.jsx @@ -7,6 +7,8 @@ const { Meta } = require('vitreum/headtags'); const MarkdownLegacy = require('naturalcrit/markdownLegacy.js'); const Markdown = require('naturalcrit/markdown.js'); +const BREWKEY = 'homebrewery-new'; +const STYLEKEY = 'homebrewery-new-style'; const METAKEY = 'homebrewery-new-meta'; const PrintPage = createClass({ @@ -23,33 +25,42 @@ const PrintPage = createClass({ getInitialState : function() { return { - brewText : this.props.brew.text, - brewRenderer : this.props.brew.renderer + brew : { + text : this.props.brew.text || '', + style : this.props.brew.style || undefined, + renderer : this.props.brew.renderer || 'legacy' + } }; }, componentDidMount : function() { - if(this.props.query.local){ - const localText = localStorage.getItem(prevProps.query.local); - const localRenderer = JSON.parse(localStorage.getItem(METAKEY)).renderer || 'legacy'; - this.setState((prevState, prevProps)=>({ - brewText : localText, - brewRenderer : localRenderer - } - })); + if(this.props.query.local == 'print'){ + const brewStorage = localStorage.getItem(BREWKEY); + const styleStorage = localStorage.getItem(STYLEKEY); + const metaStorage = JSON.parse(localStorage.getItem(METAKEY)); + + this.setState((prevState, prevProps)=>{ + return { + brew : { + text : brewStorage, + style : styleStorage, + renderer : metaStorage.renderer || 'legacy' + } + }; + }); } if(this.props.query.dialog) window.print(); }, renderStyle : function() { - if(!this.props.brew.style) return; - return