William O'Beirne db6b737cad Show Recent Txs on Check Tx Page (#1147)
* Save transactions to local storage.

* Checksum more things + reset hash on network change.

* Fix IHexTransaction type, grab from from tx object directly.

* Refactor storage of recent transactions to use redux storage and loading.

* Refactor types to a transactions types file.

* Initial crack at recent transactions tab on account

* Punctuation.

* Transaction Status responsive behavior.

* Refactor transaction helper function out to remove circular dependency.

* Fix typings

* Collapse subtabs to select list when too small.

* s/wallet/address

* Type select onChange

* Get fields from current state if web3 tx
2018-03-14 15:10:14 -05:00

45 lines
1.2 KiB
TypeScript

import React from 'react';
import moment from 'moment';
import { Wei } from 'libs/units';
import { Identicon, Address, UnitDisplay } from 'components/ui';
import { NetworkConfig } from 'types/network';
import { SavedTransaction } from 'types/transactions';
import './RecentTransaction.scss';
interface Props {
tx: SavedTransaction;
network: NetworkConfig;
onClick(hash: string): void;
}
export default class RecentTransaction extends React.Component<Props> {
public render() {
const { tx, network } = this.props;
return (
<tr className="RecentTx" key={tx.time} onClick={this.handleClick}>
<td className="RecentTx-to">
<Identicon address={tx.to} />
<Address address={tx.to} />
</td>
<td className="RecentTx-value">
<UnitDisplay
value={Wei(tx.value)}
unit="ether"
symbol={network.unit}
checkOffline={false}
/>
</td>
<td className="RecentTx-time">{moment(tx.time).format('l LT')}</td>
<td className="RecentTx-arrow">
<i className="fa fa-chevron-right" />
</td>
</tr>
);
}
private handleClick = () => {
this.props.onClick(this.props.tx.hash);
};
}