diff --git a/src/hooks/useTMB.ts b/src/hooks/useTMB.ts index 4d8e086a6..cb2346e67 100644 --- a/src/hooks/useTMB.ts +++ b/src/hooks/useTMB.ts @@ -419,22 +419,30 @@ const useTMB = (): UseTMBReturn => { } } - if (selectedToken.loginid && selectedToken.token) { - localStorage.setItem('authToken', selectedToken.token); - localStorage.setItem('active_loginid', selectedToken.loginid); - - authTokenRef.current = selectedToken.token; - - if (api_base) { - api_base.init(true).then(() => { - if (selectedToken.loginid) { - setAuthData({ - loginid: selectedToken.loginid, - currency: selectedToken.cur || '', - token: selectedToken.token, - } as TAuthData & { token: string }); - } - }); + const currentActiveLoginid = localStorage.getItem('active_loginid'); + const currentActiveToken = localStorage.getItem('authToken'); + + if ( + currentActiveLoginid !== selectedToken?.loginid || + currentActiveToken !== selectedToken?.token + ) { + if (selectedToken.loginid && selectedToken.token) { + localStorage.setItem('authToken', selectedToken.token); + localStorage.setItem('active_loginid', selectedToken.loginid); + + authTokenRef.current = selectedToken.token; + + if (api_base) { + api_base.init(true).then(() => { + if (selectedToken.loginid) { + setAuthData({ + loginid: selectedToken.loginid, + currency: selectedToken.cur || '', + token: selectedToken.token, + } as TAuthData & { token: string }); + } + }); + } } } }