import { useState } from "react"; import { useTranslation } from "react-i18next"; import { Wand2 } from "lucide-react"; import { PageHelp } from "../components/shared/PageHelp"; import { useTransactions } from "../hooks/useTransactions"; import TransactionFilterBar from "../components/transactions/TransactionFilterBar"; import TransactionSummaryBar from "../components/transactions/TransactionSummaryBar"; import TransactionTable from "../components/transactions/TransactionTable"; import TransactionPagination from "../components/transactions/TransactionPagination"; export default function TransactionsPage() { const { t } = useTranslation(); const { state, setFilter, setSort, setPage, updateCategory, saveNotes, autoCategorize } = useTransactions(); const [resultMessage, setResultMessage] = useState(null); const handleAutoCategorize = async () => { setResultMessage(null); const count = await autoCategorize(); if (count > 0) { setResultMessage(t("transactions.autoCategorizeResult", { count })); } else { setResultMessage(t("transactions.autoCategorizeNone")); } setTimeout(() => setResultMessage(null), 4000); }; return (

{t("transactions.title")}

{resultMessage && ( {resultMessage} )}
{state.error && (
{state.error}
)} {state.isLoading ? (
{t("common.loading")}
) : ( <> )}
); }