From dbe12c6fb971d91a4e5bc1776e4a6f09ca62f4bb Mon Sep 17 00:00:00 2001 From: Jonathan Rainville Date: Wed, 31 Oct 2018 10:26:24 +0100 Subject: [PATCH] add a warning if not enough blocks or no blocks --- embark-ui/src/components/DataWrapper.js | 7 ++++++- embark-ui/src/containers/GasStationContainer.js | 12 +++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/embark-ui/src/components/DataWrapper.js b/embark-ui/src/components/DataWrapper.js index 7215a6a0b..7466072ea 100644 --- a/embark-ui/src/components/DataWrapper.js +++ b/embark-ui/src/components/DataWrapper.js @@ -4,7 +4,7 @@ import React from "react"; import Loading from '../components/Loading'; import Error from '../components/Error'; -const DataWrapper = ({error, loading, shouldRender, render, ...rest}) => { +const DataWrapper = ({error, loading, shouldRender, render, elseRender, ...rest}) => { if (error) { return ; } @@ -17,6 +17,10 @@ const DataWrapper = ({error, loading, shouldRender, render, ...rest}) => { return ; } + if (elseRender) { + return elseRender(rest); + } + return ; }; @@ -24,6 +28,7 @@ DataWrapper.propTypes = { error: PropTypes.string, loading: PropTypes.bool, render: PropTypes.func, + elseRender: PropTypes.func, shouldRender: PropTypes.bool }; diff --git a/embark-ui/src/containers/GasStationContainer.js b/embark-ui/src/containers/GasStationContainer.js index 82bac07d6..828b2012b 100644 --- a/embark-ui/src/containers/GasStationContainer.js +++ b/embark-ui/src/containers/GasStationContainer.js @@ -5,6 +5,7 @@ import GasStation from '../components/GasStation'; import {stopGasOracle, listenToGasOracle, gasOracle as ethGasAction, blocks as blocksAction} from "../actions"; import DataWrapper from "../components/DataWrapper"; import {getOracleGasStats, getLastBlock} from "../reducers/selectors"; +import {Alert} from 'reactstrap'; class GasStationContainer extends Component { componentDidMount() { @@ -18,6 +19,9 @@ class GasStationContainer extends Component { } getCurrentGas() { + if (!this.gasStation) { + return 'Unavailable'; + } return this.gasStation.getCurrentGas(); } @@ -25,7 +29,13 @@ class GasStationContainer extends Component { return ( { this.gasStation = instance; }}/> - )}/>; + )} elseRender={() => { + let message = 'Currently not enough blocks mined to estimated'; + if (Object.keys(this.props.gasOracleStats).length === 0) { + message = 'No blocks detected. If you are connected using an RPC connection, switch to WS to have access to new block events.' + } + return ({message}) + }}/>; } }