const React = require('react'); const createClass = require('create-react-class'); const cx = require('classnames'); const request = require('superagent'); const Moment = require('moment'); const BrewLookup = createClass({ getDefaultProps() { return {}; }, getInitialState() { return { query : '', foundBrew : null, searching : false, error : null }; }, handleChange(e){ this.setState({ query: e.target.value }); }, lookup(){ this.setState({ searching: true, error: null }); request.get(`/admin/lookup/${this.state.query}`) .then((res)=>this.setState({ foundBrew: res.body })) .catch((err)=>this.setState({ error: err })) .finally(()=>this.setState({ searching: false })); }, renderFoundBrew(){ const brew = this.state.foundBrew; return
Title
{brew.title}
Authors
{brew.authors.join(', ')}
Edit Link
/edit/{brew.editId}
Share Link
/share/{brew.shareId}
Last Updated
{Moment(brew.updatedAt).fromNow()}
Num of Views
{brew.views}
; }, render(){ return

Brew Lookup

{this.state.error &&
{this.state.error.toString()}
} {this.state.foundBrew ? this.renderFoundBrew() :
No brew found.
}
; } }); module.exports = BrewLookup;