diff --git a/ui/js/component/bodyTransactionList/index.js b/ui/js/component/bodyTransactionList/index.js index 48db597ed..95fcdaf11 100644 --- a/ui/js/component/bodyTransactionList/index.js +++ b/ui/js/component/bodyTransactionList/index.js @@ -1,5 +1,10 @@ import React from "react"; import { connect } from "react-redux"; +import { doNavigate } from "actions/navigation"; import TransactionTableBody from "./view"; -export default connect(null, null)(TransactionTableBody); +const perform = dispatch => ({ + navigate: (path, params) => dispatch(doNavigate(path, params)), +}); + +export default connect(null, perform)(TransactionTableBody); diff --git a/ui/js/component/bodyTransactionList/view.jsx b/ui/js/component/bodyTransactionList/view.jsx index dcabf00ec..fa15d1619 100644 --- a/ui/js/component/bodyTransactionList/view.jsx +++ b/ui/js/component/bodyTransactionList/view.jsx @@ -7,23 +7,41 @@ class TransactionTableBody extends React.PureComponent { super(props); } + getClaimLink(claim_name, claim_id) { + let uri = `lbry://${claim_name}#${claim_id}`; + + return ( + this.props.navigate("/show", { uri })} + > + {claim_name} + + ); + } + filterList(transaction) { - if (this.filter == "claim") { + if (this.props.filter == "claim") { return transaction.claim_info.length > 0; - } else if (this.filter == "support") { + } else if (this.props.filter == "support") { return transaction.support_info.length > 0; - } else if (this.filter == "update") { + } else if (this.props.filter == "update") { return transaction.update_info.length > 0; } else { return transaction; } } - renderBody(transaction, index) { + renderBody(transaction) { const txid = transaction.id; const date = transaction.date; const fee = transaction.fee; - const filter = this.filter; + const filter = this.props.filter; + + if (filter == "tipSupport") + transaction["tipSupport_info"] = transaction["support_info"].filter( + tx => tx.is_tip + ); return filter != "unfiltered" ? transaction[`${filter}_info`].map(item => { @@ -48,7 +66,7 @@ class TransactionTableBody extends React.PureComponent { {" "} - {item.claim_name} + {this.getClaimLink(item.claim_name, item.claim_id)} @@ -81,14 +99,21 @@ class TransactionTableBody extends React.PureComponent { ; } + removeFeeTx(transaction) { + if (this.props.filter == "unfiltered") + return Math.abs(transaction.amount) != Math.abs(transaction.fee); + else return true; + } + render() { const { transactions, filter } = this.props; return ( {transactions - .filter(this.filterList, this.props) - .map(this.renderBody, this.props)} + .filter(this.filterList, this) + .filter(this.removeFeeTx, this) + .map(this.renderBody, this)} ); } diff --git a/ui/js/component/transactionList/view.jsx b/ui/js/component/transactionList/view.jsx index 374c6887d..361b54395 100644 --- a/ui/js/component/transactionList/view.jsx +++ b/ui/js/component/transactionList/view.jsx @@ -39,9 +39,10 @@ class TransactionList extends React.PureComponent { onChange={this.handleFilterChanged.bind(this)} > - - - + + + +