aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/send_/send-content/send-from-row/send-from-row.container.js
blob: 2ff3f0ccd096b72d30b95b609d380e3755ea8bab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import {
    getSendFrom,
    conversionRateSelector,
    getSelectedTokenContract,
    getCurrentAccountWithSendEtherInfo,
    accountsWithSendEtherInfoSelector,
} from '../../send.selectors.js'
import { getFromDropdownOpen } from './send-from-row.selectors.js'
import { calcTokenUpdateAmount } from './send-from-row.utils.js'
import {
    updateSendTokenBalance,
    updateSendFrom,
} from '../../../actions'
import {
    openFromDropdown,
    closeFromDropdown,
} from '../../../ducks/send'
import SendFromRow from './send-from-row.component'

export default connect(mapStateToProps, mapDispatchToProps)(SendFromRow)

function mapStateToProps (state) {
  return {
    from: getSendFrom(state) || getCurrentAccountWithSendEtherInfo(state),
    fromAccounts: accountsWithSendEtherInfoSelector(state),
    conversionRate: conversionRateSelector(state),
    fromDropdownOpen: getFromDropdownOpen(state),
    tokenContract: getSelectedTokenContract(state),
  }
}

function mapDispatchToProps (dispatch) {
  return {
    updateSendTokenBalance: (usersToken, selectedToken) => {
        if (!usersToken) return

        const tokenBalance = calcTokenUpdateAmount(selectedToken, selectedToken)
        dispatch(updateSendTokenBalance(tokenBalance))
    },
    updateSendFrom: newFrom => dispatch(updateSendFrom(newFrom)),
    openFromDropdown: () => dispatch(()),
    closeFromDropdown: () => dispatch(()),
  }
}