0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-04 03:52:40 +00:00
Files
homebrewery/client/homebrew/pages/userPage/brewItem/brewItem.jsx
2017-02-18 14:46:14 -05:00

76 lines
1.7 KiB
JavaScript

const React = require('react');
const _ = require('lodash');
const cx = require('classnames');
const moment = require('moment');
const request = require("superagent");
const BrewItem = React.createClass({
getDefaultProps: function() {
return {
brew : {
title : '',
description : '',
authors : []
}
};
},
deleteBrew : 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.brew.editId)
.send()
.end(function(err, res){
location.reload();
});
},
renderDeleteBrewLink: function(){
if(!this.props.brew.editId) return;
return <a onClick={this.deleteBrew}>
<i className='fa fa-trash' />
</a>
},
renderEditLink: function(){
if(!this.props.brew.editId) return;
return <a href={`/edit/${this.props.brew.editId}`} target='_blank'>
<i className='fa fa-pencil' />
</a>
},
render : function(){
const brew = this.props.brew;
return <div className='brewItem'>
<h2>{brew.title}</h2>
<p className='description' >{brew.description}</p>
<hr />
<div className='info'>
<span>
<i className='fa fa-user' /> {brew.authors.join(', ')}
</span>
<span>
<i className='fa fa-eye' /> {brew.views}
</span>
<span>
<i className='fa fa-refresh' /> {moment(brew.updatedAt).fromNow()}
</span>
</div>
<div className='links'>
<a href={`/share/${brew.shareId}`} target='_blank'>
<i className='fa fa-share-alt' />
</a>
{this.renderEditLink()}
{this.renderDeleteBrewLink()}
</div>
</div>
}
});
module.exports = BrewItem;