import React from "react";
import { Address, BusyMessage, CreditAmount } from "component/common";
class TransactionList extends React.PureComponent {
componentWillMount() {
this.props.fetchTransactions();
}
render() {
const { fetchingTransactions, transactionItems, navigate } = this.props;
function findTypeOfTx(type, is_tip) {
if (is_tip && type === "support") return "tip";
else return type;
}
function getClaimLink(claim_name, claim_id) {
if (claim_id !== "----" && claim_name !== "----") {
let uri = `lbry://${claim_name}#${claim_id}`;
return (
navigate("/show", { uri })}
>
{claim_name}
|
);
}
return {__("N/A")} | ;
}
const rows = [];
if (transactionItems.length > 0) {
transactionItems.forEach(function(item) {
rows.push(
{findTypeOfTx(item.type, item.is_tip)} |
{(item.amount > 0 ? "+" : "") + item.amount} |
{item.date
? item.date.toLocaleDateString()
: {__("(Transaction pending)")}}
|
{item.date
? item.date.toLocaleTimeString()
: {__("(Transaction pending)")}}
|
{getClaimLink(item.claim_name, item.claim_id)}
{item.id.substr(0, 7)}
|
);
});
}
return (
{__("Transaction History")}
{fetchingTransactions &&
}
{!fetchingTransactions && rows.length === 0
?
{__("You have no transactions.")}
: ""}
{rows.length > 0
?
{__("Type")} |
{__("Amount")} |
{__("Date")} |
{__("Time")} |
{__("Claim")} |
{__("Transaction")} |
{rows}
: ""}
);
}
}
export default TransactionList;