mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 19:01:47 +00:00
feat: importação de extratos OFX/XLS com memória de categorias
Adiciona fluxo completo de importação de extratos bancários: - Upload e parsing de arquivos OFX e XLS/XLSX - Tela de revisão com virtualização (@tanstack/react-virtual) - Detecção automática de categoria por histórico de uso - Deduplicação por FITID (OFX) e importBatchId - Tabela `import_category_mappings` para persistir mapeamentos - Botão de acesso ao fluxo na tabela de transações Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
24
src/app/(dashboard)/transactions/import/page.tsx
Normal file
24
src/app/(dashboard)/transactions/import/page.tsx
Normal file
@@ -0,0 +1,24 @@
|
||||
import { ImportPage } from "@/features/transactions/components/import/import-page";
|
||||
import { fetchTransactionFilterSources } from "@/features/transactions/queries";
|
||||
import { buildOptionSets, buildSluggedFilters } from "@/features/transactions/page-helpers";
|
||||
import { getUserId } from "@/shared/lib/auth/server";
|
||||
|
||||
export default async function Page() {
|
||||
const userId = await getUserId();
|
||||
const filterSources = await fetchTransactionFilterSources(userId);
|
||||
const sluggedFilters = buildSluggedFilters(filterSources);
|
||||
const { payerOptions, accountOptions, cardOptions, categoryOptions, defaultPayerId } =
|
||||
buildOptionSets({ ...sluggedFilters, payerRows: filterSources.payerRows });
|
||||
|
||||
return (
|
||||
<main className="flex flex-col gap-6">
|
||||
<ImportPage
|
||||
payerOptions={payerOptions}
|
||||
accountOptions={accountOptions}
|
||||
cardOptions={cardOptions}
|
||||
categoryOptions={categoryOptions}
|
||||
defaultPayerId={defaultPayerId}
|
||||
/>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user