@@ -359,6 +359,7 @@ export default class ClientStore extends BaseStore {
359
359
setLoginId : action . bound ,
360
360
setAccounts : action . bound ,
361
361
setSwitched : action . bound ,
362
+ setUrlParams : action . bound ,
362
363
setIsAuthorize : action . bound ,
363
364
setIsLoggingIn : action . bound ,
364
365
setPreSwitchAccount : action . bound ,
@@ -1065,11 +1066,22 @@ export default class ClientStore extends BaseStore {
1065
1066
resetLocalStorageValues ( loginid ) {
1066
1067
this . accounts [ loginid ] . accepted_bch = 0 ;
1067
1068
LocalStore . setObject ( storage_key , this . accounts ) ;
1068
- LocalStore . set ( 'active_loginid' , loginid ) ;
1069
+ sessionStorage . setItem ( 'active_loginid' , loginid ) ;
1070
+ this . setUrlParams ( ) ;
1069
1071
this . syncWithLegacyPlatforms ( loginid , toJS ( this . accounts ) ) ;
1070
1072
this . loginid = loginid ;
1071
1073
}
1072
1074
1075
+ setUrlParams ( ) {
1076
+ const url = new URL ( window . location . href ) ;
1077
+ const loginid = sessionStorage . getItem ( 'active_wallet_loginid' ) || sessionStorage . getItem ( 'active_loginid' ) ;
1078
+ const account_param = / ^ V R / . test ( loginid ) ? 'demo' : this . accounts [ loginid ] ?. currency ;
1079
+ if ( account_param ) {
1080
+ url . searchParams . set ( 'account' , account_param ) ;
1081
+ window . history . replaceState ( { } , '' , url . toString ( ) ) ;
1082
+ }
1083
+ }
1084
+
1073
1085
setIsAuthorize ( value ) {
1074
1086
this . is_authorize = value ;
1075
1087
}
@@ -1576,7 +1588,7 @@ export default class ClientStore extends BaseStore {
1576
1588
1577
1589
if ( [ 'crypto_transactions_withdraw' , 'payment_withdraw' ] . includes ( action_param ) && loginid_param )
1578
1590
this . setLoginId ( loginid_param ) ;
1579
- else this . setLoginId ( LocalStore . get ( 'active_loginid' ) ) ;
1591
+ else this . setLoginId ( window . sessionStorage . getItem ( 'active_loginid' ) || LocalStore . get ( 'active_loginid' ) ) ;
1580
1592
this . user_id = LocalStore . get ( 'active_user_id' ) ;
1581
1593
this . setAccounts ( LocalStore . getObject ( storage_key ) ) ;
1582
1594
this . setSwitched ( '' ) ;
@@ -2005,11 +2017,15 @@ export default class ClientStore extends BaseStore {
2005
2017
2006
2018
//temporary workaround to sync this.loginid with selected wallet loginid
2007
2019
if ( window . location . pathname . includes ( routes . wallets ) ) {
2008
- this . resetLocalStorageValues ( localStorage . getItem ( 'active_loginid' ) ?? this . loginid ) ;
2020
+ this . resetLocalStorageValues (
2021
+ window . sessionStorage . getItem ( 'active_loginid' ) ??
2022
+ localStorage . getItem ( 'active_loginid' ) ??
2023
+ this . loginid
2024
+ ) ;
2009
2025
return ;
2010
2026
}
2011
2027
2012
- this . resetLocalStorageValues ( this . loginid ) ;
2028
+ this . resetLocalStorageValues ( window . sessionStorage . getItem ( 'active_loginid' ) ?? this . loginid ) ;
2013
2029
}
2014
2030
}
2015
2031
@@ -2232,11 +2248,12 @@ export default class ClientStore extends BaseStore {
2232
2248
if ( active_loginid && Object . keys ( client_object ) . length ) {
2233
2249
if ( selected_account && is_wallets_selected ) {
2234
2250
localStorage . setItem ( 'active_wallet_loginid' , active_wallet_loginid ) ;
2251
+ sessionStorage . setItem ( 'active_wallet_loginid' , active_wallet_loginid ) ;
2235
2252
if ( verification_code ) {
2236
2253
localStorage . setItem ( 'verification_code.payment_withdraw' , verification_code ) ;
2237
2254
}
2238
2255
}
2239
-
2256
+ sessionStorage . setItem ( 'active_loginid' , active_loginid ) ;
2240
2257
localStorage . setItem ( 'active_loginid' , active_loginid ) ;
2241
2258
localStorage . setItem ( 'client.accounts' , JSON . stringify ( client_object ) ) ;
2242
2259
this . syncWithLegacyPlatforms ( active_loginid , this . accounts ) ;
0 commit comments