diff --git a/src/hooks/useTransactionsHistory.tsx b/src/hooks/useTransactionsHistory.tsx index 43245e0..8516c99 100644 --- a/src/hooks/useTransactionsHistory.tsx +++ b/src/hooks/useTransactionsHistory.tsx @@ -1,11 +1,13 @@ import { type Transaction, getTransactionsHistory } from "@/utils/requests/transactions"; import { LOG } from "@logger"; import { useQuery } from "@tanstack/react-query"; -import { useMemo } from "react"; +import { useCallback, useMemo, useState } from "react"; const log = LOG.extend("useTransactionsHistory"); const useTransactionsHistory = () => { + const [referenceFilter, setReferenceFilter] = useState(""); + log.verbose("useTransactionsHistory"); const { data, isLoading, error, refetch } = useQuery({ @@ -13,13 +15,24 @@ const useTransactionsHistory = () => { queryFn: getTransactionsHistory, }); - const transactionsHistory: Transaction[] = useMemo(() => data || [], [data]); + const filterByReference = useCallback( + (reference: string) => { + if (!data?.length) return []; + return data.filter((transaction) => transaction.reference.includes(reference)); + }, + [data], + ); + const transactionsHistory: Transaction[] = useMemo(() => { + if (!data) return []; + return filterByReference(referenceFilter); + }, [data, filterByReference, referenceFilter]); return { transactionsHistory, isLoading, error, refetch, + setReferenceFilter, }; }; diff --git a/src/screens/TransactionHistoryScreen.tsx b/src/screens/TransactionHistoryScreen.tsx index d001385..2f0c633 100644 --- a/src/screens/TransactionHistoryScreen.tsx +++ b/src/screens/TransactionHistoryScreen.tsx @@ -11,20 +11,19 @@ const log = LOG.extend("TransactionHistoryScreen"); const TransactionHistoryScreen = () => { log.verbose("TransactionHistoryScreen"); - const { transactionsHistory: data, isLoading, error, refetch } = useTransactionsHistory(); - - // const { data, isLoading, error, refetch } = useQuery({ - // queryKey: ["transactionsHistory"], - // queryFn: getTransactionsHistory, - // }); - - console.info("Data", data); + const { + transactionsHistory: data, + isLoading, + error, + refetch, + setReferenceFilter, + } = useTransactionsHistory(); return ( <> - + }