From 4ba3b86c39e4d23a15b6d0cefe9567b1cce62c02 Mon Sep 17 00:00:00 2001 From: Shreerang Kale Date: Tue, 11 Feb 2025 18:03:16 +0530 Subject: [PATCH] Check balance after loading iframe --- .../projects/create/CheckBalanceIframe.tsx | 19 ++++++++++++------- .../components/projects/create/Configure.tsx | 17 ++++++++++++++--- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/packages/frontend/src/components/projects/create/CheckBalanceIframe.tsx b/packages/frontend/src/components/projects/create/CheckBalanceIframe.tsx index 54daa5db..c04941cf 100644 --- a/packages/frontend/src/components/projects/create/CheckBalanceIframe.tsx +++ b/packages/frontend/src/components/projects/create/CheckBalanceIframe.tsx @@ -1,4 +1,4 @@ -import { useEffect } from 'react'; +import { useEffect, useState } from 'react'; import { Modal } from '@mui/material'; @@ -22,12 +22,17 @@ const CheckBalanceIframe = ({ IFRAME_ID, ); - useEffect(() => { - checkBalance(); - }, [amount, checkBalance]); + const [isLoaded, setIsLoaded] = useState(false); useEffect(() => { - if (!isPollingEnabled || isBalanceSufficient) { + if (!isLoaded) { + return; + } + checkBalance(); + }, [amount, checkBalance, isLoaded]); + + useEffect(() => { + if (!isPollingEnabled || !isLoaded || isBalanceSufficient) { return; } @@ -38,7 +43,7 @@ const CheckBalanceIframe = ({ return () => { clearInterval(interval); }; - }, [isBalanceSufficient, isPollingEnabled, checkBalance]); + }, [isBalanceSufficient, isPollingEnabled, checkBalance, isLoaded]); useEffect(() => { onBalanceChange(isBalanceSufficient); @@ -47,7 +52,7 @@ const CheckBalanceIframe = ({ return (