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 1/2] 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; From fff0b4d670dccfdadc3f75c5c4227f351b2e5e09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Wed, 27 May 2026 18:49:48 +0200 Subject: [PATCH 2/2] moving to try catch better --- .../brewUtils/brewCleanup/brewCleanup.jsx | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/client/admin/brewUtils/brewCleanup/brewCleanup.jsx b/client/admin/brewUtils/brewCleanup/brewCleanup.jsx index 53498a54b..721ec1e00 100644 --- a/client/admin/brewUtils/brewCleanup/brewCleanup.jsx +++ b/client/admin/brewUtils/brewCleanup/brewCleanup.jsx @@ -7,21 +7,34 @@ const BrewCleanup = ({})=>{ const [primed, setPrimed] = useState(false); const [error, setError] = useState(null); - const prime = ()=>{ + const prime = async ()=>{ setPending(true); - request.get('/admin/cleanup') - .then((res)=>{setCount(res.body.count);setPrimed(true);}) - .catch((err)=>setError(err)) - .finally(()=>setPending(false)); + try { + const res = await request.get('/admin/cleanup'); + + setCount(res.body.count); + setPrimed(true); + } catch (err) { + setError(err); + } finally { + setPending(false); + } }; - const cleanup = ()=>{ + + const cleanup = async ()=>{ setPending(true); - request.post('/admin/cleanup') - .then((res)=>setCount(res.body.count)) - .catch((err)=>setError(err)) - .finally(()=>{setPending(false);setPrimed(false);}); + 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;