From 133dd7c1449391bf7892284ef43c573529d00021 Mon Sep 17 00:00:00 2001 From: Scott Tolksdorf Date: Wed, 4 May 2016 15:25:27 -0400 Subject: [PATCH] Trying out a reddit share button, looks promising --- client/homebrew/homePage/homePage.jsx | 6 ++- .../homebrew/navbar/redditShare.navitem.jsx | 52 +++++++++++++++++++ package.json | 1 + server/homebrew.model.js | 14 ----- shared/naturalCrit/codeEditor/codeEditor.jsx | 4 +- 5 files changed, 61 insertions(+), 16 deletions(-) create mode 100644 client/homebrew/navbar/redditShare.navitem.jsx diff --git a/client/homebrew/homePage/homePage.jsx b/client/homebrew/homePage/homePage.jsx index 2991248cc..5983c3b2b 100644 --- a/client/homebrew/homePage/homePage.jsx +++ b/client/homebrew/homePage/homePage.jsx @@ -11,6 +11,8 @@ var PageContainer = require('../pageContainer/pageContainer.jsx'); var Nav = require('naturalCrit/nav/nav.jsx'); var Navbar = require('../navbar/navbar.jsx'); +var RedditShare = require('../navbar/redditShare.navitem.jsx'); + var SplitPane = require('../splitPane/splitPane.jsx'); @@ -59,6 +61,8 @@ var HomePage = React.createClass({ return(
+ + - +
{this.state.text}
diff --git a/client/homebrew/navbar/redditShare.navitem.jsx b/client/homebrew/navbar/redditShare.navitem.jsx new file mode 100644 index 000000000..93593bc05 --- /dev/null +++ b/client/homebrew/navbar/redditShare.navitem.jsx @@ -0,0 +1,52 @@ +var React = require('react'); +var _ = require('lodash'); +var cx = require('classnames'); + +var striptags = require('striptags'); + +var Nav = require('naturalCrit/nav/nav.jsx'); + +const MAX_URL_SIZE = 2083; +const MAIN_URL = "https://www.reddit.com/r/UnearthedArcana/submit?selftext=true" + + + +var RedditShare = React.createClass({ + getDefaultProps: function() { + return { + brew : { + desc : '', + sharedId : '', + text : '' + } + }; + }, + + getText : function(){ + + }, + + + handleClick : function(){ + var url = [ + MAIN_URL, + 'title=' + encodeURIComponent(this.props.brew.desc ? this.props.brew.desc : 'Check out my brew!'), + + 'text=' + encodeURIComponent(this.props.brew.text) + + + ].join('&'); + + window.open(url, '_blank'); + }, + + + render : function(){ + return + share on reddit + + }, + +}); + +module.exports = RedditShare; \ No newline at end of file diff --git a/package.json b/package.json index af6b9c4a1..06ea61374 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "react": "^15.0.2", "react-dom": "^15.0.2", "shortid": "^2.2.4", + "striptags": "^2.1.1", "superagent": "^1.6.1", "vitreum": "^3.2.1" } diff --git a/server/homebrew.model.js b/server/homebrew.model.js index 84779a2e9..2ed1ee823 100644 --- a/server/homebrew.model.js +++ b/server/homebrew.model.js @@ -15,20 +15,6 @@ var HomebrewSchema = mongoose.Schema({ - -/* -HomebrewSchema.options.toJSON.transform = function (doc, ret, options) { - delete ret._id; - delete ret.__t; - delete ret.__v; -} -HomebrewSchema.options.toObject.transform = function (doc, ret, options) { - delete ret._id; - delete ret.__t; - delete ret.__v; -} -*/ - var Homebrew = mongoose.model('Homebrew', HomebrewSchema); module.exports = { diff --git a/shared/naturalCrit/codeEditor/codeEditor.jsx b/shared/naturalCrit/codeEditor/codeEditor.jsx index 7b60c7edc..ca3377599 100644 --- a/shared/naturalCrit/codeEditor/codeEditor.jsx +++ b/shared/naturalCrit/codeEditor/codeEditor.jsx @@ -18,6 +18,7 @@ var CodeEditor = React.createClass({ return { language : '', value : '', + wrap : false, onChange : function(){}, onCursorActivity : function(){}, }; @@ -27,6 +28,7 @@ var CodeEditor = React.createClass({ this.codeMirror = CodeMirror(this.refs.editor,{ value : this.props.value, lineNumbers: true, + lineWrapping : this.props.wrap, mode : this.props.language }); @@ -34,7 +36,7 @@ var CodeEditor = React.createClass({ this.codeMirror.on('cursorActivity', this.handleCursorActivity); }, - componentWillReceiveProps: _.debounce((nextProps)=>{ + componentWillReceiveProps: _.debounce(function(nextProps){ if(this.codeMirror && nextProps.value !== undefined && this.codeMirror.getValue() != nextProps.value) { this.codeMirror.setValue(nextProps.value); }