mirror of
https://github.com/stolksdorf/homebrewery.git
synced 2025-12-11 08:56:02 +00:00
45 lines
902 B
JavaScript
45 lines
902 B
JavaScript
const React = require('react');
|
|
const createClass = require('create-react-class');
|
|
const cx = require('classnames');
|
|
|
|
const request = require('superagent');
|
|
|
|
|
|
const Stats = createClass({
|
|
displayName : 'Stats',
|
|
getDefaultProps(){
|
|
return {};
|
|
},
|
|
getInitialState(){
|
|
return {
|
|
stats : {
|
|
totalBrews : 0
|
|
},
|
|
fetching : false
|
|
};
|
|
},
|
|
componentDidMount(){
|
|
this.fetchStats();
|
|
},
|
|
fetchStats(){
|
|
this.setState({ fetching: true });
|
|
request.get('/admin/stats')
|
|
.then((res)=>this.setState({ stats: res.body }))
|
|
.finally(()=>this.setState({ fetching: false }));
|
|
},
|
|
render(){
|
|
return <div className='Stats'>
|
|
<h2> Stats </h2>
|
|
<dl>
|
|
<dt>Total Brew Count</dt>
|
|
<dd>{this.state.stats.totalBrews}</dd>
|
|
</dl>
|
|
|
|
{this.state.fetching
|
|
&& <div className='pending'><i className='fa fa-spin fa-spinner' /></div>
|
|
}
|
|
</div>;
|
|
}
|
|
});
|
|
|
|
module.exports = Stats; |