@@ -79,12 +79,15 @@ export const VaultContextProvider: React.FC = ({ children }) => {
79
79
useEffect ( ( ) => {
80
80
if ( address ) {
81
81
console . log ( 'vault refresh' )
82
+ setVaults ( [ ] )
83
+ setSelectedVault ( null )
84
+ setCurrentLock ( null )
82
85
getVaults ( { variables : { id : address . toLowerCase ( ) } } )
83
86
}
84
- } , [ networkId , address , getVaults ] )
87
+ } , [ ready , networkId , address , getVaults ] )
85
88
86
89
useEffect ( ( ) => {
87
- if ( ready && ! ! vaultData && ! ! vaultData . user ) {
90
+ if ( ready && vaultData ? .user ) {
88
91
const userVaults = vaultData . user . vaults as Vault [ ]
89
92
setVaults ( userVaults )
90
93
if ( userVaults . length > 0 && ! selectedVault ) {
@@ -95,19 +98,17 @@ export const VaultContextProvider: React.FC = ({ children }) => {
95
98
setSelectedVault ( null )
96
99
}
97
100
}
98
- if ( ! ready ) {
99
- setVaults ( [ ] )
100
- setSelectedVault ( null )
101
- }
102
101
} , [ vaultData , selectedVault ] )
103
102
104
103
useEffect ( ( ) => {
105
- if ( selectedVault && selectedGeyser ) {
104
+ if ( address && selectedVault && selectedGeyser ) {
106
105
const { stakingToken } = selectedGeyser
107
106
const lockId = `${ selectedVault . id } -${ selectedGeyser . id } -${ stakingToken } `
108
107
setCurrentLock ( selectedVault . locks . find ( ( lock ) => lock . id === lockId ) || null )
108
+ } else {
109
+ setCurrentLock ( null )
109
110
}
110
- } , [ selectedVault , selectedGeyser ] )
111
+ } , [ address , selectedVault , selectedGeyser ] )
111
112
112
113
return (
113
114
< VaultContext . Provider
0 commit comments