0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-02 06:22:43 +00:00

Trying out a reddit share button, looks promising

This commit is contained in:
Scott Tolksdorf
2016-05-04 15:25:27 -04:00
parent 1db6553365
commit 133dd7c144
5 changed files with 61 additions and 16 deletions

View File

@@ -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(
<div className='homePage page'>
<Navbar>
<RedditShare brew={{text : this.state.text}}/>
<Nav.item
newTab={true}
href='https://github.com/stolksdorf/naturalcrit/issues'
@@ -82,7 +86,7 @@ var HomePage = React.createClass({
<div className='content'>
<SplitPane>
<CodeEditor language='gfm' value={this.state.text} onChange={this.handleTextChange} />
<CodeEditor wrap={true} language='gfm' value={this.state.text} onChange={this.handleTextChange} />
<div>{this.state.text}</div>
</SplitPane>

View File

@@ -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 <Nav.item icon='fa-reddit' color='red' onClick={this.handleClick}>
share on reddit
</Nav.item>
},
});
module.exports = RedditShare;

View File

@@ -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"
}

View File

@@ -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 = {

View File

@@ -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);
}