From c96384a89ccdb0e74691b0f227f57ad07875ea3f Mon Sep 17 00:00:00 2001 From: Will Urban Date: Tue, 17 Sep 2024 10:43:25 +0700 Subject: [PATCH] fix: default TAO apy to "--" when API fails (#1177) * fix: default TAO apy to "--" when API fails * ci: fix check-types --- apps/portal/src/domains/staking/subtensor/atoms/taostats.ts | 5 +++-- apps/portal/src/domains/staking/subtensor/hooks/useApr.ts | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/portal/src/domains/staking/subtensor/atoms/taostats.ts b/apps/portal/src/domains/staking/subtensor/atoms/taostats.ts index 5b169c3f5..2155a95d2 100644 --- a/apps/portal/src/domains/staking/subtensor/atoms/taostats.ts +++ b/apps/portal/src/domains/staking/subtensor/atoms/taostats.ts @@ -32,7 +32,8 @@ export const taostatsAtom = atom(async () => { const stats = await (await fetch(TAOSTATS_DATA_URL)).json() return Array.isArray(stats) ? (stats as Taostats) : [] } catch (cause) { - throw new Error('Failed to fetch TAO stats', { cause }) + console.error('Failed to fetch TAO stats', { cause }) + return [] } }) @@ -42,7 +43,7 @@ export const taostatsByChainAtomFamily = atomFamily((genesisHash: string | undef const networkName = TaostatsNetworkByGenesisHash.get(genesisHash) if (!networkName) return atom(() => Promise.resolve(undefined)) - return atom(async get => (await get(taostatsAtom)).find(stats => stats.network === networkName)) + return atom(async get => (await get(taostatsAtom))?.find(stats => stats.network === networkName)) }) export const stakingAprByChainAtomFamily = atomFamily((genesisHash: string | undefined) => diff --git a/apps/portal/src/domains/staking/subtensor/hooks/useApr.ts b/apps/portal/src/domains/staking/subtensor/hooks/useApr.ts index fc50491af..6b595faff 100644 --- a/apps/portal/src/domains/staking/subtensor/hooks/useApr.ts +++ b/apps/portal/src/domains/staking/subtensor/hooks/useApr.ts @@ -6,5 +6,7 @@ export const useApr = (genesisHash: string | undefined) => { } export const useAprFormatted = (genesisHash: string | undefined) => { - return useApr(genesisHash).toLocaleString(undefined, { style: 'percent', maximumFractionDigits: 2 }) + const apr = useApr(genesisHash) + + return apr ? apr.toLocaleString(undefined, { style: 'percent', maximumFractionDigits: 2 }) : '--' }