const React = require('react'); const _ = require('lodash'); const cx = require('classnames'); const Nav = require('naturalcrit/nav/nav.jsx'); const Navbar = require('../../navbar/navbar.jsx'); const PrintLink = require('../../navbar/print.navitem.jsx'); const ReportIssue = require('../../navbar/issue.navitem.jsx'); //const RecentlyViewed = require('../../navbar/recent.navitem.jsx').viewed; const Account = require('../../navbar/account.navitem.jsx'); const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx'); const SharePage = React.createClass({ getDefaultProps : function() { return { brew : { title : '', text : '', shareId : null, createdAt : null, updatedAt : null, views : 0 } }; }, componentDidMount : function() { document.addEventListener('keydown', this.handleControlKeys); }, componentWillUnmount : function() { document.removeEventListener('keydown', this.handleControlKeys); }, handleControlKeys : function(e){ if(!(e.ctrlKey || e.metaKey)) return; const P_KEY = 80; if(e.keyCode == P_KEY){ window.open(`/print/${this.props.brew.shareId}?dialog=true`, '_blank').focus(); e.stopPropagation(); e.preventDefault(); } }, render : function(){ return