From 62ea0388ffbf59dbf970c96f50937ac36768f4d9 Mon Sep 17 00:00:00 2001 From: Enrique Ortiz Date: Mon, 6 Jul 2020 18:06:20 -0400 Subject: [PATCH 1/4] Agent Filtering: Move page reset to 0 to be an effect --- .../app/src/components/useFilteredTransactions.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/agent/app/src/components/useFilteredTransactions.js b/apps/agent/app/src/components/useFilteredTransactions.js index bf42f98dd6..faa81ace19 100644 --- a/apps/agent/app/src/components/useFilteredTransactions.js +++ b/apps/agent/app/src/components/useFilteredTransactions.js @@ -1,4 +1,4 @@ -import { useState, useCallback, useMemo } from 'react' +import { useState, useCallback, useEffect, useMemo } from 'react' import { endOfDay, isWithinInterval, startOfDay } from 'date-fns' import { TRANSACTION_TYPES } from '../transaction-types' import { addressesEqual } from '../lib/web3-utils' @@ -14,20 +14,23 @@ function useFilteredTransactions({ transactions, tokens }) { INITIAL_TRANSACTION_TYPE ) const [selectedToken, setSelectedToken] = useState(INITIAL_TOKEN) + + useEffect(() => setPage(0), [ + selectedDateRange, + selectedToken, + selectedTransactionType, + ]) + const handleSelectedDateRangeChange = useCallback(range => { - setPage(0) setSelectedDateRange(range) }, []) const handleTokenChange = useCallback(index => { - setPage(0) setSelectedToken(index || INITIAL_TOKEN) }, []) const handleTransactionTypeChange = useCallback(index => { - setPage(0) setSelectedTransactionType(index || INITIAL_TRANSACTION_TYPE) }, []) const handleClearFilters = useCallback(() => { - setPage(0) setSelectedTransactionType(INITIAL_TRANSACTION_TYPE) setSelectedToken(INITIAL_TOKEN) setSelectedDateRange(INITIAL_DATE_RANGE) From e5c7b2f5622ece0db071d38766a39d97bbdf77e6 Mon Sep 17 00:00:00 2001 From: Enrique Ortiz Date: Mon, 6 Jul 2020 18:42:51 -0400 Subject: [PATCH 2/4] Filtering: make transactionTypes be provided by useFilteredTransactions hook --- apps/agent/app/src/components/Transactions.js | 10 +++++++--- .../app/src/components/useFilteredTransactions.js | 8 ++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/apps/agent/app/src/components/Transactions.js b/apps/agent/app/src/components/Transactions.js index 6332947980..b5b438d4eb 100644 --- a/apps/agent/app/src/components/Transactions.js +++ b/apps/agent/app/src/components/Transactions.js @@ -26,7 +26,6 @@ import { import { useIdentity } from './IdentityManager/IdentityManager' import LocalIdentityBadge from './LocalIdentityBadge/LocalIdentityBadge' import TransactionFilters from './TransactionFilters' -import { TRANSACTION_TYPES_LABELS } from '../transaction-types' import useDownloadData from './useDownloadData' import useFilteredTransactions from './useFilteredTransactions' import { ISO_SHORT_FORMAT, ISO_LONG_FORMAT } from '../lib/date-utils' @@ -57,8 +56,13 @@ const Transactions = React.memo(function Transactions({ selectedToken, selectedTransactionType, symbols, + transactionTypes, } = useFilteredTransactions({ transactions, tokens }) + const transactionLabels = useMemo(() => Object.values(transactionTypes), [ + transactionTypes, + ]) + const tokenDetails = tokens.reduce( (details, { address, decimals, symbol }) => { details[toChecksumAddress(address)] = { @@ -140,7 +144,7 @@ const Transactions = React.memo(function Transactions({ symbols={symbols} tokenFilter={selectedToken} transactionTypeFilter={selectedTransactionType} - transactionTypes={Object.values(TRANSACTION_TYPES_LABELS)} + transactionTypes={transactionLabels} /> )}