diff --git a/client/admin/brewUtils/brewCleanup/brewCleanup.jsx b/client/admin/brewUtils/brewCleanup/brewCleanup.jsx index 6cec01178..721ec1e00 100644 --- a/client/admin/brewUtils/brewCleanup/brewCleanup.jsx +++ b/client/admin/brewUtils/brewCleanup/brewCleanup.jsx @@ -1,71 +1,72 @@ -import React from 'react'; -import createReactClass from 'create-react-class'; +import React, { useState } from 'react'; import request from 'superagent'; -const BrewCleanup = createReactClass({ - displayName : 'BrewCleanup', - getDefaultProps(){ - return {}; - }, - getInitialState() { - return { - count : 0, +const BrewCleanup = ({})=>{ + const [count, setCount] = useState(0); + const [pending, setPending] = useState(false); + const [primed, setPrimed] = useState(false); + const [error, setError] = useState(null); - pending : false, - primed : false, - err : null - }; - }, - prime(){ - this.setState({ pending: true }); + const prime = async ()=>{ + setPending(true); - request.get('/admin/cleanup') - .then((res)=>this.setState({ count: res.body.count, primed: true })) - .catch((err)=>this.setState({ error: err })) - .finally(()=>this.setState({ pending: false })); - }, - cleanup(){ - this.setState({ pending: true }); + try { + const res = await request.get('/admin/cleanup'); - request.post('/admin/cleanup') - .then((res)=>this.setState({ count: res.body.count })) - .catch((err)=>this.setState({ error: err })) - .finally(()=>this.setState({ pending: false, primed: false })); - }, - renderPrimed(){ - if(!this.state.primed) return; - - if(!this.state.count){ - return
No Matching Brews found.
; + setCount(res.body.count); + setPrimed(true); + } catch (err) { + setError(err); + } finally { + setPending(false); } + }; + + const cleanup = async ()=>{ + setPending(true); + + try { + const res = await request.post('/admin/cleanup'); + + setCount(res.body.count); + } catch (err) { + setError(err); + } finally { + setPending(false); + setPrimed(false); + } + }; + const renderPrimed = ()=>{ + if(!primed) return; + + if(!count) return
No Matching Brews found.
; + return
- - Found {this.state.count} Brews that could be removed. + Found {count} Brews that could be removed.
; - }, - render(){ - return
-

Brew Cleanup

-

Removes very short brews to tidy up the database

+ }; - - {this.renderPrimed()} + return
+

Brew Cleanup

+

Removes very short brews to tidy up the database

- {this.state.error - &&
{this.state.error.toString()}
+
; - } -}); + + {renderPrimed()} + + {error &&
{error.toString()}
} +
; + +}; export default BrewCleanup;