From 91617553b8ebb45c2ed2242204860fb30d39474d Mon Sep 17 00:00:00 2001 From: Kexort Date: Mon, 21 Jul 2025 10:58:15 +0200 Subject: [PATCH] fix: move status to state --- src/providers/Bee.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/providers/Bee.tsx b/src/providers/Bee.tsx index 41d5595e..e8e7f62c 100644 --- a/src/providers/Bee.tsx +++ b/src/providers/Bee.tsx @@ -45,6 +45,7 @@ interface Status { interface ContextInterface { beeVersion: string | null status: Status + setStatus: (status: Status) => void error: Error | null apiHealth: boolean nodeAddresses: NodeAddresses | null @@ -75,6 +76,7 @@ const initialValues: ContextInterface = { topology: { isEnabled: false, checkState: CheckState.ERROR }, chequebook: { isEnabled: false, checkState: CheckState.ERROR }, }, + setStatus: () => {}, // eslint-disable-line error: null, apiHealth: false, nodeAddresses: null, @@ -184,6 +186,9 @@ export function Provider({ children }: Props): ReactElement { const [walletBalance, setWalletBalance] = useState(null) const [startedAt] = useState(Date.now()) + // Make status stateful + const [status, setStatus] = useState(initialValues.status) + const { latestBeeRelease } = useLatestBeeRelease() const [error, setError] = useState(initialValues.error) @@ -333,7 +338,11 @@ export function Provider({ children }: Props): ReactElement { } const stop = () => setFrequency(null) - const status = getStatus(nodeInfo, apiHealth, topology, chequebookAddress, chequebookBalance, error, startedAt) + // Update status when dependent values change + useEffect(() => { + const newStatus = getStatus(nodeInfo, apiHealth, topology, chequebookAddress, chequebookBalance, error, startedAt) + setStatus(newStatus) + }, [nodeInfo, apiHealth, topology, chequebookAddress, chequebookBalance, error, startedAt]) useEffect(() => { let newFrequency = REFRESH_WHEN_OK @@ -358,6 +367,7 @@ export function Provider({ children }: Props): ReactElement { value={{ beeVersion, status, + setStatus, error, apiHealth, nodeAddresses,