diff --git a/components/fiscal-sponsorship/first/stats.js b/components/fiscal-sponsorship/first/stats.js index 163e11190..d193640db 100644 --- a/components/fiscal-sponsorship/first/stats.js +++ b/components/fiscal-sponsorship/first/stats.js @@ -43,6 +43,9 @@ function formatMoney(amount) { } const Stats = ({ stats }) => { + if (stats.transactions_volume === undefined) { + return null + } const [balance, setBalance] = useState(0) // A formatted balance string, split by decimal useEffect(() => { @@ -64,7 +67,6 @@ const Stats = ({ stats }) => { return () => observer.disconnect() }, [stats.transactions_volume]) - return ( @@ -103,11 +105,20 @@ const Stats = ({ stats }) => { export async function getStaticProps(context) { const res = await fetch(`https://hcb.hackclub.com/stats`) - const stats = await res.json() - - return { - props: { - stats + try { + const stats = await res.json() + return { + props: { + stats + }, + revalidate: 10 + } + } catch (e) { + return { + props: { + stats: {} + }, + revalidate: 10 } } } diff --git a/components/index/cards/hcb.js b/components/index/cards/hcb.js index 7262e1eb0..a0720b70e 100644 --- a/components/index/cards/hcb.js +++ b/components/index/cards/hcb.js @@ -20,7 +20,7 @@ export default function Bank({ data }) { color: 'snow' }} badge - text={data[0]} + text={data[0] === 'error' ? 'The coolest money thing' : data[0]} > - r.json() - ) - let raised = initialBankData.raised / 100 + let initialBankData = await fetch('https://hcb.hackclub.com/stats') + try { + const bd = await initialBankData.json() + let raised = bd.raised / 100 - bankData.push( - `💰 ${raised.toLocaleString('en-US', { - style: 'currency', - currency: 'USD' - })} raised` - ) + bankData.push( + `💰 ${raised.toLocaleString('en-US', { + style: 'currency', + currency: 'USD' + })} raised` + ) + } catch { + bankData.push('error') + } // Slack: get total raised const { Slack: Slacky } = require('./api/slack')