summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-plugin-sharing/src/components/SiteButton.js
diff options
context:
space:
mode:
authorSamy Pesse <samypesse@gmail.com>2016-10-13 13:23:19 +0200
committerSamy Pesse <samypesse@gmail.com>2016-10-13 13:23:19 +0200
commitc42c5897fee1841d2be0207faeda81bc42f250e2 (patch)
tree45fd9a773ba05ae362390e63ce0f2eaaa0154ede /packages/gitbook-plugin-sharing/src/components/SiteButton.js
parent3aea3e5d88384822440517c9a2b722c405547155 (diff)
downloadgitbook-c42c5897fee1841d2be0207faeda81bc42f250e2.zip
gitbook-c42c5897fee1841d2be0207faeda81bc42f250e2.tar.gz
gitbook-c42c5897fee1841d2be0207faeda81bc42f250e2.tar.bz2
Refactor code of plugin sharing
Diffstat (limited to 'packages/gitbook-plugin-sharing/src/components/SiteButton.js')
-rw-r--r--packages/gitbook-plugin-sharing/src/components/SiteButton.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/gitbook-plugin-sharing/src/components/SiteButton.js b/packages/gitbook-plugin-sharing/src/components/SiteButton.js
new file mode 100644
index 0000000..e03720d
--- /dev/null
+++ b/packages/gitbook-plugin-sharing/src/components/SiteButton.js
@@ -0,0 +1,29 @@
+const GitBook = require('gitbook-core');
+const { React } = GitBook;
+
+const siteShape = require('../shapes/site');
+
+// An individual site sharing button
+const SiteButton = React.createClass({
+ propTypes: {
+ site: siteShape.isRequired,
+ onShare: React.PropTypes.func.isRequired
+ },
+
+ onClick(e) {
+ e.preventDefault();
+ this.props.onShare(this.props.site);
+ },
+
+ render() {
+ const { site } = this.props;
+
+ return (
+ <GitBook.Button onClick={this.onClick}>
+ <GitBook.Icon id={site.icon}/>
+ </GitBook.Button>
+ );
+ }
+});
+
+module.exports = SiteButton;