import React, { useState } from 'react'; import request from 'superagent'; import Moment from 'moment'; const BrewCleanup = ({})=>{ const [count, setCount] = useState(0); const [brewCollection, setBrewCollection] = useState([]); const [pending, setPending] = useState(false); const [primed, setPrimed] = useState(false); const [error, setError] = useState(null); const prime = async ()=>{ setPending(true); try { const res = await request.get('/admin/cleanup'); setCount(res.body.count); setBrewCollection(res.body.brewCollection); 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 renderBrewList = ()=>{ if(!brewCollection) { console.log(brewCollection) return null; } return <>

{`Results - ${brewCollection.length} brews` }

{brewCollection .sort((a, b)=>{ // Sort brews from most recently updated if(a.updatedAt > b.updatedAt) return -1; return 1; }) .map((brew, idx)=>{ return ; })}
Title Share Last Update Created Storage
{brew.title || 'No Title'} {brew.shareId} {Moment(brew.updatedAt).fromNow()} {brew.createdAt ? Moment(brew.createdAt).fromNow() : 'No creation date'} {brew.googleId ? 'Google' : 'Homebrewery'}
; }; const renderPrimed = ()=>{ if(!primed) return; if(!count) return
No Matching Brews found.
; return
Found {count} Brews that could be removed. {renderBrewList()}
; }; return

Brew Cleanup

Removes very short brews to tidy up the database

{renderPrimed()} {error &&
{error.toString()}
}
; }; export default BrewCleanup;