From 98e0e1fc4ee32a7dccd9400f1d3fc7e05b457f63 Mon Sep 17 00:00:00 2001 From: fmtabbara Date: Mon, 13 Jun 2022 11:49:18 +0100 Subject: [PATCH] fix initial request for node stats --- nym-wallet/src/pages/settings/index.tsx | 5 +++- .../src/pages/settings/useSettingsState.ts | 29 +++++++------------ 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/nym-wallet/src/pages/settings/index.tsx b/nym-wallet/src/pages/settings/index.tsx index d00492293c..7e5e592138 100644 --- a/nym-wallet/src/pages/settings/index.tsx +++ b/nym-wallet/src/pages/settings/index.tsx @@ -16,12 +16,15 @@ export const Settings = () => { const [selectedTab, setSelectedTab] = useState(0); const { mixnodeDetails, showSettings, getBondDetails, handleShowSettings } = useContext(AppContext); - const { status, saturation, rewardEstimation, inclusionProbability } = useSettingsState(showSettings); + const { status, saturation, rewardEstimation, inclusionProbability, updateAllMixnodeStats } = useSettingsState(); const handleTabChange = (_: React.SyntheticEvent, newTab: number) => setSelectedTab(newTab); useEffect(() => { getBondDetails(); + if (mixnodeDetails) { + updateAllMixnodeStats(mixnodeDetails.mix_node.identity_key); + } }, [showSettings, selectedTab]); return showSettings ? ( diff --git a/nym-wallet/src/pages/settings/useSettingsState.ts b/nym-wallet/src/pages/settings/useSettingsState.ts index b7d5d2b867..6f7e7e2e9a 100644 --- a/nym-wallet/src/pages/settings/useSettingsState.ts +++ b/nym-wallet/src/pages/settings/useSettingsState.ts @@ -1,10 +1,9 @@ -import { useContext, useEffect, useState } from 'react'; +import { useState } from 'react'; import { useSnackbar } from 'notistack'; import { InclusionProbabilityResponse, MixnodeStatus } from '@nymproject/types'; -import { AppContext } from '../../context/main'; import { getInclusionProbability, getMixnodeStakeSaturation, getMixnodeStatus } from '../../requests'; -export const useSettingsState = (shouldUpdate: boolean) => { +export const useSettingsState = () => { const [status, setStatus] = useState('not_found'); const [saturation, setSaturation] = useState(0); const [rewardEstimation, setRewardEstimation] = useState(0); @@ -13,8 +12,6 @@ export const useSettingsState = (shouldUpdate: boolean) => { in_reserve: 'Low', }); - const { mixnodeDetails } = useContext(AppContext); - const { enqueueSnackbar } = useSnackbar(); const getStatus = async (mixnodeKey: string) => { @@ -45,26 +42,22 @@ export const useSettingsState = (shouldUpdate: boolean) => { setInclusionProbability({ in_active: 'Low', in_reserve: 'Low' }); }; - useEffect(() => { - if (shouldUpdate && mixnodeDetails?.mix_node.identity_key) { - (async () => { - try { - await getStatus(mixnodeDetails?.mix_node.identity_key); - await getStakeSaturation(mixnodeDetails?.mix_node.identity_key); - await getMixnodeInclusionProbability(mixnodeDetails?.mix_node.identity_key); - } catch (e) { - enqueueSnackbar(e as string, { variant: 'error', preventDuplicate: true }); - } - })(); - } else { + const updateAllMixnodeStats = async (mixnodeId: string) => { + try { + await getStatus(mixnodeId); + await getStakeSaturation(mixnodeId); + await getMixnodeInclusionProbability(mixnodeId); + } catch (e) { + enqueueSnackbar(e as string, { variant: 'error', preventDuplicate: true }); reset(); } - }, [shouldUpdate]); + }; return { status, saturation, rewardEstimation, inclusionProbability, + updateAllMixnodeStats, }; };