import React, { PureComponent } from 'react' import PropTypes from 'prop-types' import Spinner from '../spinner' import Button from '../button' export default class LoadingNetworkScreen extends PureComponent { state = { showErrorScreen: false, } static contextTypes = { t: PropTypes.func, } static propTypes = { loadingMessage: PropTypes.string, cancelTime: PropTypes.number, provider: PropTypes.oneOfType([PropTypes.string, PropTypes.object]), providerId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), showNetworkDropdown: PropTypes.func, setProviderArgs: PropTypes.array, lastSelectedProvider: PropTypes.oneOfType([PropTypes.string, PropTypes.object]), setProviderType: PropTypes.func, isLoadingNetwork: PropTypes.bool, } componentDidMount = () => { this.cancelCallTimeout = setTimeout(this.cancelCall, this.props.cancelTime || 15000) } getConnectingLabel = function (loadingMessage) { if (loadingMessage) { return loadingMessage } const { provider, providerId } = this.props const providerName = provider.type let name if (providerName === 'mainnet') { name = this.context.t('connectingToMainnet') } else if (providerName === 'ropsten') { name = this.context.t('connectingToRopsten') } else if (providerName === 'kovan') { name = this.context.t('connectingToKovan') } else if (providerName === 'rinkeby') { name = this.context.t('connectingToRinkeby') } else { name = this.context.t('connectingTo', [providerId]) } return name } renderMessage = () => { return { this.getConnectingLabel(this.props.loadingMessage) } } renderLoadingScreenContent = () => { return