const React = require('react'); const _ = require('lodash'); const cx = require('classnames'); const request = require('superagent'); const SYSTEMS = ['5e', '4e', '3.5e', 'Pathfinder']; const MetadataEditor = React.createClass({ getDefaultProps : function() { return { metadata : { editId : null, title : '', description : '', tags : '', published : false, authors : [], systems : [] }, onChange : ()=>{} }; }, handleFieldChange : function(name, e){ this.props.onChange(_.merge({}, this.props.metadata, { [name] : e.target.value })); }, handleSystem : function(system, e){ if(e.target.checked){ this.props.metadata.systems.push(system); } else { this.props.metadata.systems = _.without(this.props.metadata.systems, system); } this.props.onChange(this.props.metadata); }, handlePublish : function(val){ this.props.onChange(_.merge({}, this.props.metadata, { published : val })); }, handleDelete : function(){ if(!confirm('are you sure you want to delete this brew?')) return; if(!confirm('are you REALLY sure? You will not be able to recover it')) return; request.get(`/api/remove/${this.props.metadata.editId}`) .send() .end(function(err, res){ window.location.href = '/'; }); }, getRedditLink : function(){ const meta = this.props.metadata; const title = `${meta.title} [${meta.systems.join(' ')}]`; const text = `Hey guys! I've been working on this homebrew. I'd love your feedback. Check it out. **[Homebrewery Link](http://homebrewery.naturalcrit.com/share/${meta.shareId})**`; return `https://www.reddit.com/r/UnearthedArcana/submit?title=${encodeURIComponent(title)}&text=${encodeURIComponent(text)}`; }, renderSystems : function(){ return _.map(SYSTEMS, (val)=>{ return ; }); }, renderPublish : function(){ if(this.props.metadata.published){ return ; } else { return ; } }, renderDelete : function(){ if(!this.props.metadata.editId) return; return