From e7cd642242d1785df751d366408efc04d14fcf4a Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Tue, 11 Feb 2025 14:44:41 +0530 Subject: [PATCH] Keep common hook for checking balance in IFrame component --- ...rameModal.tsx => ApproveTransactionModal.tsx} | 8 +++++--- .../projects/create/CheckBalanceIframe.tsx | 16 ++++++++++++++-- .../src/components/projects/create/Configure.tsx | 5 ++--- .../frontend/src/pages/BuyPrepaidService.tsx | 11 +++-------- packages/frontend/src/pages/org-slug/index.tsx | 10 +++------- 5 files changed, 27 insertions(+), 23 deletions(-) rename packages/frontend/src/components/projects/create/{IFrameModal.tsx => ApproveTransactionModal.tsx} (94%) diff --git a/packages/frontend/src/components/projects/create/IFrameModal.tsx b/packages/frontend/src/components/projects/create/ApproveTransactionModal.tsx similarity index 94% rename from packages/frontend/src/components/projects/create/IFrameModal.tsx rename to packages/frontend/src/components/projects/create/ApproveTransactionModal.tsx index f508f922..16374348 100644 --- a/packages/frontend/src/components/projects/create/IFrameModal.tsx +++ b/packages/frontend/src/components/projects/create/ApproveTransactionModal.tsx @@ -7,7 +7,7 @@ import { VITE_WALLET_IFRAME_URL, } from 'utils/constants'; -const IFrameModal = ({ +const ApproveTransactionModal = ({ setAccount, setIsDataReceived, isVisible, @@ -29,7 +29,9 @@ const IFrameModal = ({ } setAccount(event.data.data[0].address); - } else if (event.data.type === 'ERROR') { + } + + if (event.data.type === 'ERROR') { console.error('Error from wallet:', event.data.message); } }; @@ -91,4 +93,4 @@ const IFrameModal = ({ ); }; -export default IFrameModal; +export default ApproveTransactionModal; diff --git a/packages/frontend/src/components/projects/create/CheckBalanceIframe.tsx b/packages/frontend/src/components/projects/create/CheckBalanceIframe.tsx index e9ae235e..6bd63ff8 100644 --- a/packages/frontend/src/components/projects/create/CheckBalanceIframe.tsx +++ b/packages/frontend/src/components/projects/create/CheckBalanceIframe.tsx @@ -1,14 +1,26 @@ +import { useEffect } from "react"; + import { Modal } from "@mui/material"; import { VITE_WALLET_IFRAME_URL, } from 'utils/constants'; +import useCheckBalance from '../../../hooks/useCheckBalance'; + +const CheckBalanceIframe = ({ setIsSufficient }: { setIsSufficient: (isSufficient: boolean | undefined) => void }) => { + const { checkBalance, isBalanceSufficient } = useCheckBalance( + '1', + 'checkBalanceIframe' + ); + + useEffect(() => { + setIsSufficient(isBalanceSufficient); + }, [isBalanceSufficient]); -const CheckBalanceIframe = ({ onLoad }: { onLoad: () => void }) => { return (