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 909adc1a9..e5b7160c6 100644 --- a/client/homebrew/pages/printPage/printPage.jsx +++ b/client/homebrew/pages/printPage/printPage.jsx @@ -7,6 +7,10 @@ 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({ getDefaultProps : function() { return { @@ -21,28 +25,42 @@ const PrintPage = createClass({ getInitialState : function() { return { - brewText : this.props.brew.text + 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){ - this.setState((prevState, prevProps)=>({ - brewText : localStorage.getItem(prevProps.query.local) - })); + 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