require('./printPage.less'); const React = require('react'); const createClass = require('create-react-class'); const _ = require('lodash'); const cx = require('classnames'); const { Meta } = require('vitreum/headtags'); const MarkdownLegacy = require('naturalcrit/markdownLegacy.js'); const Markdown = require('naturalcrit/markdown.js'); const Themes = require('themes/themes.json'); const BREWKEY = 'homebrewery-new'; const STYLEKEY = 'homebrewery-new-style'; const METAKEY = 'homebrewery-new-meta'; const PrintPage = createClass({ displayName : 'PrintPage', getDefaultProps : function() { return { query : {}, brew : { text : '', style : '', renderer : 'legacy' } }; }, getInitialState : function() { return { 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 == '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', theme : metaStorage?.theme || '5ePHB' } }; }); } if(this.props.query.dialog) window.print(); }, renderStyle : function() { if(!this.state.brew.style) return; return