aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/send_/send-content/send-from-row/send-from-row.container.js
blob: e2815a01f768b7fd7f30e13a56e8b32e96f9a0d8 (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
45
46
47
import { connect } from 'react-redux'
import {
    getConversionRate,
    getSelectedTokenContract,
    accountsWithSendEtherInfoSelector,
    getSendFromObject,
} 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) {
  console.log(`$% mapStateToProps accountsWithSendEtherInfoSelector`, accountsWithSendEtherInfoSelector);
  return {
    from: getSendFromObject(state),
    fromAccounts: accountsWithSendEtherInfoSelector(state),
    conversionRate: getConversionRate(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(openFromDropdown()),
    closeFromDropdown: () => dispatch(closeFromDropdown()),
  }
}