From 5f7a3db441ff769b566c06912464f48742431f75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Wed, 27 May 2026 18:42:47 +0200 Subject: [PATCH] brewCleanup to functional component --- .../brewUtils/brewCleanup/brewCleanup.jsx | 92 ++++++++----------- 1 file changed, 40 insertions(+), 52 deletions(-) diff --git a/client/admin/brewUtils/brewCleanup/brewCleanup.jsx b/client/admin/brewUtils/brewCleanup/brewCleanup.jsx index 6cec01178..53498a54b 100644 --- a/client/admin/brewUtils/brewCleanup/brewCleanup.jsx +++ b/client/admin/brewUtils/brewCleanup/brewCleanup.jsx @@ -1,71 +1,59 @@ -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 = ()=>{ + 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 }); + .then((res)=>{setCount(res.body.count);setPrimed(true);}) + .catch((err)=>setError(err)) + .finally(()=>setPending(false)); + }; + const cleanup = ()=>{ + setPending(true); 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; + .then((res)=>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.
; - if(!this.state.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;