Fix recommended gas price breaking on subtab switch (#1268)
This commit is contained in:
parent
16e6677c0f
commit
94b3f3403b
|
@ -40,14 +40,22 @@ interface ActionProps {
|
||||||
|
|
||||||
type Props = OwnProps & StateProps & ActionProps;
|
type Props = OwnProps & StateProps & ActionProps;
|
||||||
|
|
||||||
|
interface State {
|
||||||
|
hasSetRecommendedGasPrice: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
class SimpleGas extends React.Component<Props> {
|
class SimpleGas extends React.Component<Props> {
|
||||||
|
public state: State = {
|
||||||
|
hasSetRecommendedGasPrice: false
|
||||||
|
};
|
||||||
|
|
||||||
public componentDidMount() {
|
public componentDidMount() {
|
||||||
this.fixGasPrice();
|
|
||||||
this.props.fetchGasEstimates();
|
this.props.fetchGasEstimates();
|
||||||
}
|
}
|
||||||
|
|
||||||
public componentWillReceiveProps(nextProps: Props) {
|
public componentWillReceiveProps(nextProps: Props) {
|
||||||
if (!this.props.gasEstimates && nextProps.gasEstimates) {
|
if (!this.state.hasSetRecommendedGasPrice && nextProps.gasEstimates) {
|
||||||
|
this.setState({ hasSetRecommendedGasPrice: true });
|
||||||
this.props.setGasPrice(nextProps.gasEstimates.fast.toString());
|
this.props.setGasPrice(nextProps.gasEstimates.fast.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -121,21 +129,6 @@ class SimpleGas extends React.Component<Props> {
|
||||||
this.props.inputGasPrice(gasGwei.toString());
|
this.props.inputGasPrice(gasGwei.toString());
|
||||||
};
|
};
|
||||||
|
|
||||||
private fixGasPrice() {
|
|
||||||
const { gasPrice, gasEstimates } = this.props;
|
|
||||||
if (!gasEstimates) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the gas price is above or below our minimum, bring it in line
|
|
||||||
const gasPriceGwei = this.getGasPriceGwei(gasPrice.value);
|
|
||||||
if (gasPriceGwei < gasEstimates.safeLow) {
|
|
||||||
this.props.setGasPrice(gasEstimates.safeLow.toString());
|
|
||||||
} else if (gasPriceGwei > gasEstimates.fastest) {
|
|
||||||
this.props.setGasPrice(gasEstimates.fastest.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private getGasPriceGwei(gasPriceValue: Wei) {
|
private getGasPriceGwei(gasPriceValue: Wei) {
|
||||||
return parseFloat(fromWei(gasPriceValue, 'gwei'));
|
return parseFloat(fromWei(gasPriceValue, 'gwei'));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue