// Copyright 2015-2018 Parity Technologies (UK) Ltd. // This file is part of Parity. // // SPDX-License-Identifier: MIT import React, { Component } from 'react'; import { chainName$ } from '@parity/light.js'; import { inject, observer } from 'mobx-react'; import light from 'light-hoc'; import check from '../../assets/img/icons/check.svg'; import loading from '../../assets/img/icons/loading.svg'; @light({ chainName: chainName$ }) @inject('sendStore') @observer class Sent extends Component { render () { return (
loading

{this.renderTitle()}

{this.renderDescription()}

); } renderDescription = () => { const { sendStore: { confirmations, txStatus } } = this.props; if (confirmations > 0) { return `It has been confirmed ${ confirmations === 1 ? 'once' : `${confirmations} times` }`; } if (txStatus.confirmed) { return 'Waiting for confirmations...'; } if (txStatus.failed) { return JSON.stringify(txStatus.failed); } return null; }; renderIcon = () => { const { sendStore: { confirmations } } = this.props; if (confirmations >= 6) { return check; } return loading; }; renderTitle = () => { const { chainName, sendStore: { txStatus } } = this.props; if (txStatus.confirmed) { return ( Your transaction is{' '} on the blockchain ); } if (txStatus.failed) { return 'Error'; } return 'Sending your transaction...'; }; } export default Sent;