// 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 (
{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;