From 45c44989c8fb6e24badd18bb83ac5f68de0aceaf Mon Sep 17 00:00:00 2001 From: kibigo! Date: Fri, 17 Nov 2017 19:11:18 -0800 Subject: Forking glitch theme --- .../themes/glitch/components/permalink.js | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 app/javascript/themes/glitch/components/permalink.js (limited to 'app/javascript/themes/glitch/components/permalink.js') diff --git a/app/javascript/themes/glitch/components/permalink.js b/app/javascript/themes/glitch/components/permalink.js new file mode 100644 index 000000000..d726d37a2 --- /dev/null +++ b/app/javascript/themes/glitch/components/permalink.js @@ -0,0 +1,34 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +export default class Permalink extends React.PureComponent { + + static contextTypes = { + router: PropTypes.object, + }; + + static propTypes = { + className: PropTypes.string, + href: PropTypes.string.isRequired, + to: PropTypes.string.isRequired, + children: PropTypes.node, + }; + + handleClick = (e) => { + if (this.context.router && e.button === 0 && !(e.ctrlKey || e.metaKey)) { + e.preventDefault(); + this.context.router.history.push(this.props.to); + } + } + + render () { + const { href, children, className, ...other } = this.props; + + return ( + + {children} + + ); + } + +} -- cgit