require('./lockTools.less'); const React = require('react'); const createClass = require('create-react-class'); const request = require('superagent'); const LockTools = createClass({ getInitialState : function() { return { fetching : false, reviewCount : 0 }; }, componentDidMount : function() { this.updateReviewCount(); }, updateReviewCount : async function() { const newCount = await request.get('/admin/lock') .then((res)=>{return res.body?.count || 'Unknown';}); if(newCount != this.state.reviewCount){ this.setState({ reviewCount : newCount }); } }, render : function() { return

Lock Count

Number of brews currently locked: {this.state.reviewCount}



Lock Brew

NYI

; } }); const LockTable = createClass({ getDefaultProps : function() { return { title : '', fetchURL : '/admin/locks', resultName : '', propertyNames : ['shareId'] }; }, getInitialState : function() { return { result : '', error : '', searching : false }; }, clickFn(){ this.setState({ searching: true, error: null }); request.get(this.props.fetchURL) .then((res)=>this.setState({ result: res.body })) .catch((err)=>this.setState({ error: err })) .finally(()=>{ this.setState({ searching: false }); }); }, render : function () { return <>

{this.props.title}

{this.state.result[this.props.resultName] && <>

Total Reviews Waiting: {this.state.result[this.props.resultName].length}

{this.props.propertyNames.map((name, idx)=>{ return ; })} {this.state.result[this.props.resultName].map((result, resultIdx)=>{ return {navigator.clipboard.writeText(result.shareId.toString());}}> {this.props.propertyNames.map((name, nameIdx)=>{ return ; })} ; })}
{name}
{result[name].toString()}
} ; } }); const LockLookup = createClass({ getDefaultProps : function() { return { fetchURL : '/admin/lookup' }; }, getInitialState : function() { return { query : '', result : '', error : '', searching : false }; }, handleChange(e){ this.setState({ query: e.target.value }); }, clickFn(){ this.setState({ searching: true, error: null }); request.get(`${this.props.fetchURL}/${this.state.query}`) .then((res)=>this.setState({ result: res.body })) .catch((err)=>this.setState({ error: err })) .finally(()=>{ this.setState({ searching: false }); }); }, renderResult : function(){ return <>

Result:

{Object.keys(this.state.result).map((key, idx)=>{ return ; })}
{key} {this.state.result[key].toString()}
; }, render : function() { return

{this.props.title}

{this.state.error &&
{this.state.error.toString()}
} {this.state.result && this.renderResult()}
; } }); module.exports = LockTools;