diff --git a/src/App.js b/src/App.js index 184b586..6ba0b3a 100644 --- a/src/App.js +++ b/src/App.js @@ -47,7 +47,8 @@ function App(props) { showCongratLoader, externalControlsState, setExternalControlState, - setWindowAndTab + setWindowAndTab, + dontRedirect } = useContext(AuthContext); const navigate = useNavigate(); @@ -66,20 +67,22 @@ function App(props) { }, []); useEffect(() => { - //sync the current action route with main popup - if (activeSession && isLogin) { - navigate(`/${activeSession.route}`); - return; - } + if (!dontRedirect) { + //sync the current action route with main popup + if (activeSession && isLogin) { + navigate(`/${activeSession.route}`); + return; + } - if ((!isLogin && vault) || (state?.pass && !isLogin && !vault)) { - navigate(ROUTES.UNLOACK_WALLET); - } else if (detailsPage) { - navigate(ROUTES.NEW_WALLET_DETAILS); - } else if (isLogin && vault && !detailsPage) { - navigate(ROUTES.WALLET); - } else if (!isLogin && !vault) { - navigate(ROUTES.DEFAULT); + if ((!isLogin && vault) || (state?.pass && !isLogin && !vault)) { + navigate(ROUTES.UNLOACK_WALLET); + } else if (detailsPage) { + navigate(ROUTES.NEW_WALLET_DETAILS); + } else if (isLogin && vault && !detailsPage) { + navigate(ROUTES.WALLET); + } else if (!isLogin && !vault) { + navigate(ROUTES.DEFAULT); + } } // eslint-disable-next-line react-hooks/exhaustive-deps }, [ diff --git a/src/Pages/MyAccount/MyAccount.jsx b/src/Pages/MyAccount/MyAccount.jsx index 2eae788..d4b3655 100644 --- a/src/Pages/MyAccount/MyAccount.jsx +++ b/src/Pages/MyAccount/MyAccount.jsx @@ -41,7 +41,8 @@ function MyAccount() { externalControlsState, setNewWalletName, windowAndTab, - setSelectedToken + setSelectedToken, + setDontRedirect } = useContext(AuthContext); const { connectedApps } = externalControlsState; const { currentAccount, allAccountsBalance, currentNetwork } = state; @@ -151,12 +152,14 @@ function MyAccount() { const handleOutsideClick = () => { setRenameId(""); - oldName !== renameInput.trim() && + if (oldName !== renameInput.trim()) { + setDontRedirect(true); // restrict redirection to Wallet Screen sendRuntimeMessage( MESSAGE_TYPE_LABELS.EXTENSION_UI_KEYRING, MESSAGE_EVENT_LABELS.RENAME_ACCOUNT_NAME, { oldName: oldName.trim(), newName: renameInput.trim() } ); + } }; const handleEnter = (e) => { diff --git a/src/Store/index.js b/src/Store/index.js index 2791058..ba5538b 100644 --- a/src/Store/index.js +++ b/src/Store/index.js @@ -41,6 +41,7 @@ export default function Context({ children }) { const [accountName, setAccName] = useState(null); const [allAccounts, setAllAccounts] = useState([]); const [detailsPage, setDetailsPage] = useState(false); + const [dontRedirect, setDontRedirect] = useState(false); const [estimatedGas, setEstimatedGas] = useState(null); const [newWalletName, setNewWalletName] = useState(""); const [passVerified, setPassVerified] = useState(false); @@ -292,6 +293,7 @@ export default function Context({ children }) { account.accountName === oldName ? { ...account, accountName: newName } : account ); setAllAccounts(updatedAccounts); + setDontRedirect(false); }; const getAccounts = (data) => { @@ -378,6 +380,7 @@ export default function Context({ children }) { externalControlsState, externalNativeTxDetails, edValue, + dontRedirect, //data setters setState, @@ -406,7 +409,8 @@ export default function Context({ children }) { setExternalControlState, importAccountByMnemonics, setExternalNativeTxDetails, - setEDValue + setEDValue, + setDontRedirect }; return {children};