const React = require('react'); const createClass = require('create-react-class'); const _ = require('lodash'); const cx = require('classnames'); const request = require('superagent'); const Moment = require('moment'); const BrewLookup = createClass({ getDefaultProps() { return { adminKey : '', }; }, 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}`) .query({ admin_key: this.props.adminKey }) .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}
} {this.state.foundBrew ? this.renderFoundBrew() :
No brew found.
}
; } }); module.exports = BrewLookup;