// Copyright 2015-2017 Parity Technologies (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // Parity is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with Parity. If not, see . import React, { Component, PropTypes } from 'react'; import { FormattedMessage } from 'react-intl'; import { connect } from 'react-redux'; import { BlockStatus } from '~/ui'; import styles from './status.css'; class Status extends Component { static propTypes = { clientVersion: PropTypes.string, isTest: PropTypes.bool, netChain: PropTypes.string, netPeers: PropTypes.object, upgradeStore: PropTypes.object.isRequired } render () { const { clientVersion, isTest, netChain, netPeers } = this.props; return (
{ clientVersion }
{ this.renderConsensus() } { this.renderUpgradeButton() }
{ netChain }
{ netPeers.active.toFormat() }/{ netPeers.connected.toFormat() }/{ netPeers.max.toFormat() } peers
); } renderConsensus () { const { upgradeStore } = this.props; if (!upgradeStore || !upgradeStore.consensusCapability) { return null; } if (upgradeStore.consensusCapability === 'capable') { return (
); } if (upgradeStore.consensusCapability.capableUntil) { return (
); } if (upgradeStore.consensusCapability.incapableSince) { return (
); } return (
); } renderUpgradeButton () { const { upgradeStore } = this.props; if (!upgradeStore.available) { return null; } return (
); } } function mapStateToProps (state) { const { clientVersion, netPeers, netChain, isTest } = state.nodeStatus; return { clientVersion, netPeers, netChain, isTest }; } export default connect( mapStateToProps, null )(Status);