From ed17781564c42eddc34ed5f2d3d92fdb935a8e70 Mon Sep 17 00:00:00 2001 From: Manan Tank Date: Fri, 1 Mar 2024 00:24:24 +0530 Subject: [PATCH 1/2] [react] Remove unnecessary ConnectModal opening --- .changeset/silly-moles-punch.md | 7 ++++ .../ConnectWallet/Modal/ConnectModal.tsx | 33 ------------------- 2 files changed, 7 insertions(+), 33 deletions(-) create mode 100644 .changeset/silly-moles-punch.md diff --git a/.changeset/silly-moles-punch.md b/.changeset/silly-moles-punch.md new file mode 100644 index 00000000000..21e9b0a5234 --- /dev/null +++ b/.changeset/silly-moles-punch.md @@ -0,0 +1,7 @@ +--- +"@thirdweb-dev/react": patch +--- + +Remove unnecessary ConnectModal auto opening. + +This also fixes the issue where Connect Modal opens on page load when `ThirdwebProvider` is dynamically imported and rendered in the app. diff --git a/packages/react/src/wallet/ConnectWallet/Modal/ConnectModal.tsx b/packages/react/src/wallet/ConnectWallet/Modal/ConnectModal.tsx index f42f94e7028..bf2e10cb82e 100644 --- a/packages/react/src/wallet/ConnectWallet/Modal/ConnectModal.tsx +++ b/packages/react/src/wallet/ConnectWallet/Modal/ConnectModal.tsx @@ -241,41 +241,8 @@ export const ConnectModal = () => { }); }, [initialScreen, setIsWalletModalOpen, setScreen]); - const [prevConnectionStatus, setPrevConnectionStatus] = - useState(connectionStatus); - - useEffect(() => { - setPrevConnectionStatus(connectionStatus); - }, [connectionStatus]); - const disconnect = useDisconnect(); - const wallet = useWallet(); - const isWrapperConnected = !!wallet?.getPersonalWallet(); - - const isWrapperScreen = - typeof screen !== "string" && !!screen.personalWallets; - - // reopen the screen to complete wrapper wallet's next step after connecting a personal wallet - useEffect(() => { - if ( - !isWrapperConnected && - isWrapperScreen && - !isWalletModalOpen && - connectionStatus === "connected" && - prevConnectionStatus === "connecting" - ) { - setIsWalletModalOpen(true); - } - }, [ - isWalletModalOpen, - connectionStatus, - setIsWalletModalOpen, - isWrapperScreen, - isWrapperConnected, - prevConnectionStatus, - ]); - useEffect(() => { if (!isWalletModalOpen) { onModalUnmount(() => { From ea52b0efe52c8654ce144c14b2906b4ab48c25e5 Mon Sep 17 00:00:00 2001 From: Manan Tank Date: Fri, 1 Mar 2024 00:38:45 +0530 Subject: [PATCH 2/2] Fix lint --- packages/react/src/wallet/ConnectWallet/Modal/ConnectModal.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/react/src/wallet/ConnectWallet/Modal/ConnectModal.tsx b/packages/react/src/wallet/ConnectWallet/Modal/ConnectModal.tsx index bf2e10cb82e..b13be47f245 100644 --- a/packages/react/src/wallet/ConnectWallet/Modal/ConnectModal.tsx +++ b/packages/react/src/wallet/ConnectWallet/Modal/ConnectModal.tsx @@ -9,7 +9,6 @@ import { useDisconnect, useThirdwebAuthContext, useUser, - useWallet, useWalletContext, useWallets, } from "@thirdweb-dev/react-core";