aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/loading-network-screen/loading-network-screen.container.js
blob: d0623e5746215246f5a7234e774cffdaf028b68e (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
import { connect } from 'react-redux'
import LoadingNetworkScreen from './loading-network-screen.component'
import actions from '../../actions'
import { getNetworkIdentifier } from '../../selectors'

const mapStateToProps = state => {
  const {
    loadingMessage,
    currentView,
  } = state.appState
  const {
    provider,
    lastSelectedProvider,
    network,
  } = state.metamask
  const { rpcTarget, chainId, ticker, nickname, type } = provider

  const setProviderArgs = type === 'rpc'
    ? [rpcTarget, chainId, ticker, nickname]
    : [provider.type]

  return {
    isLoadingNetwork: network === 'loading' && currentView.name !== 'config',
    loadingMessage,
    lastSelectedProvider,
    setProviderArgs,
    provider,
    providerId: getNetworkIdentifier(state),
  }
}

const mapDispatchToProps = dispatch => {
  return {
    setProviderType: (type) => {
      dispatch(actions.setProviderType(type))
    },
    showNetworkDropdown: () => dispatch(actions.showNetworkDropdown()),
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(LoadingNetworkScreen)