mirror of
https://github.com/status-im/safe-react.git
synced 2025-02-26 00:15:23 +00:00
remove cdu, otherwise it will fail on many token updates because of inconsistent request finishes, debouncing tbd
This commit is contained in:
parent
0b6be00632
commit
2c8a79e582
@ -25,6 +25,7 @@ import Spacer from '~/components/Spacer'
|
|||||||
import Row from '~/components/layout/Row'
|
import Row from '~/components/layout/Row'
|
||||||
import { ETH_ADDRESS } from '~/logic/tokens/utils/tokenHelpers'
|
import { ETH_ADDRESS } from '~/logic/tokens/utils/tokenHelpers'
|
||||||
import { type Token } from '~/logic/tokens/store/model/token'
|
import { type Token } from '~/logic/tokens/store/model/token'
|
||||||
|
import { type SafeToken } from '~/routes/safe/store/models/safeToken'
|
||||||
import actions, { type Actions } from './actions'
|
import actions, { type Actions } from './actions'
|
||||||
import TokenPlaceholder from './assets/token_placeholder.png'
|
import TokenPlaceholder from './assets/token_placeholder.png'
|
||||||
import { styles } from './style'
|
import { styles } from './style'
|
||||||
@ -34,6 +35,7 @@ type Props = Actions & {
|
|||||||
classes: Object,
|
classes: Object,
|
||||||
tokens: List<Token>,
|
tokens: List<Token>,
|
||||||
safeAddress: string,
|
safeAddress: string,
|
||||||
|
activeTokens: List<SafeToken>
|
||||||
}
|
}
|
||||||
|
|
||||||
type State = {
|
type State = {
|
||||||
@ -68,7 +70,7 @@ class Tokens extends React.Component<Props, State> {
|
|||||||
onSwitch = (token: Token) => () => {
|
onSwitch = (token: Token) => () => {
|
||||||
const { safeAddress, updateActiveTokens } = this.props
|
const { safeAddress, updateActiveTokens } = this.props
|
||||||
|
|
||||||
updateActiveTokens(safeAddress, token.address)
|
updateActiveTokens(safeAddress, token)
|
||||||
}
|
}
|
||||||
|
|
||||||
setImageToPlaceholder = (e) => {
|
setImageToPlaceholder = (e) => {
|
||||||
|
@ -29,13 +29,13 @@ class SafeView extends React.Component<Props> {
|
|||||||
}, TIMEOUT)
|
}, TIMEOUT)
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidUpdate(prevProps) {
|
// componentDidUpdate(prevProps) {
|
||||||
const { activeTokens } = this.props
|
// const { activeTokens } = this.props
|
||||||
|
|
||||||
if (!activeTokens.equals(prevProps.activeTokens)) {
|
// if (!activeTokens.equals(prevProps.activeTokens)) {
|
||||||
this.checkForUpdates()
|
// this.checkForUpdates()
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
clearInterval(this.intervalId)
|
clearInterval(this.intervalId)
|
||||||
|
@ -6,7 +6,8 @@ import type { SafeToken } from '~/routes/safe/store/models/safeToken'
|
|||||||
import SafeTokenRecord from '~/routes/safe/store/models/safeToken'
|
import SafeTokenRecord from '~/routes/safe/store/models/safeToken'
|
||||||
import { safeTokensSelector } from '~/routes/safe/store/selectors/index'
|
import { safeTokensSelector } from '~/routes/safe/store/selectors/index'
|
||||||
import { SAFE_PARAM_ADDRESS } from '~/routes/routes'
|
import { SAFE_PARAM_ADDRESS } from '~/routes/routes'
|
||||||
import updateSafe from './updateSafe'
|
import type { Token } from '~/logic/tokens/store/model/token'
|
||||||
|
import updateSafe from '~/routes/safe/store/actions/updateSafe'
|
||||||
|
|
||||||
// the selector uses ownProps argument/router props to get the address of the safe
|
// the selector uses ownProps argument/router props to get the address of the safe
|
||||||
// so in order to use it I had to recreate the same structure
|
// so in order to use it I had to recreate the same structure
|
||||||
@ -18,11 +19,11 @@ const generateMatchProps = (safeAddress: string) => ({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const updateActiveTokens = (safeAddress: string, tokenAddress: string) => async (
|
const updateActiveTokens = (safeAddress: string, token: Token) => async (
|
||||||
dispatch: ReduxDispatch<GlobalState>,
|
dispatch: ReduxDispatch<GlobalState>,
|
||||||
getState: GetState<GlobalState>,
|
getState: GetState<GlobalState>,
|
||||||
) => {
|
) => {
|
||||||
const token: SafeToken = SafeTokenRecord({ address: tokenAddress })
|
const safeTokenInstance: SafeToken = SafeTokenRecord({ address: token.address })
|
||||||
const state = getState()
|
const state = getState()
|
||||||
const safeTokens: List<SafeToken> = safeTokensSelector(state, generateMatchProps(safeAddress))
|
const safeTokens: List<SafeToken> = safeTokensSelector(state, generateMatchProps(safeAddress))
|
||||||
const index = safeTokens.findIndex(safeToken => safeToken.address === token.address)
|
const index = safeTokens.findIndex(safeToken => safeToken.address === token.address)
|
||||||
@ -31,7 +32,7 @@ const updateActiveTokens = (safeAddress: string, tokenAddress: string) => async
|
|||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
updatedTokens = safeTokens.delete(index)
|
updatedTokens = safeTokens.delete(index)
|
||||||
} else {
|
} else {
|
||||||
updatedTokens = safeTokens.push(token)
|
updatedTokens = safeTokens.push(safeTokenInstance)
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(updateSafe({ address: safeAddress, tokens: updatedTokens }))
|
dispatch(updateSafe({ address: safeAddress, tokens: updatedTokens }))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user