aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/metamask-connect.js
blob: 81fa7e4032bd92559df526292153ee253e0fa78a (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
const connect = require('react-redux').connect
const t = require('../i18n-helper').getMessage

const metamaskConnect = (mapStateToProps, mapDispatchToProps) => {
    return connect(
        _higherOrderMapStateToProps(mapStateToProps),
        mapDispatchToProps
    )
}

const _higherOrderMapStateToProps = (mapStateToProps) => {
    let _t
    let currentLocale
    return (state, ownProps = {}) => {
        const stateProps = mapStateToProps
            ? mapStateToProps(state, ownProps)
            : ownProps
        if (currentLocale !== state.metamask.currentLocale) {
            currentLocale = state.metamask.currentLocale
            _t = t.bind(null, state.localeMessages)
        }
        stateProps.t = _t
        return stateProps
    }
}

module.exports = metamaskConnect