- Remove process-dialog.tsx (componente não mais utilizado) - Simplifica inbox-page.tsx removendo estados e lógica do process dialog - Atualiza inbox-details-dialog para usar lancamento-dialog diretamente - Adiciona suporte a dados iniciais do inbox no lancamento-dialog - Move campos de metadata da inbox para o form de lançamento - Remove campo currency não utilizado do schema - Atualiza actions e data com melhor tratamento de erros
49 lines
1.1 KiB
TypeScript
49 lines
1.1 KiB
TypeScript
/**
|
|
* Types for Caixa de Entrada (Inbox) feature
|
|
*/
|
|
|
|
import type { SelectOption as LancamentoSelectOption } from "@/components/lancamentos/types";
|
|
|
|
export interface InboxItem {
|
|
id: string;
|
|
sourceApp: string;
|
|
sourceAppName: string | null;
|
|
deviceId: string | null;
|
|
originalTitle: string | null;
|
|
originalText: string;
|
|
notificationTimestamp: Date;
|
|
parsedName: string | null;
|
|
parsedAmount: string | null;
|
|
parsedDate: Date | null;
|
|
parsedTransactionType: string | null;
|
|
status: string;
|
|
lancamentoId: string | null;
|
|
processedAt: Date | null;
|
|
discardedAt: Date | null;
|
|
discardReason: string | null;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
}
|
|
|
|
export interface ProcessInboxInput {
|
|
inboxItemId: string;
|
|
name: string;
|
|
amount: number;
|
|
purchaseDate: string;
|
|
transactionType: "Despesa" | "Receita";
|
|
condition: string;
|
|
paymentMethod: string;
|
|
categoriaId: string;
|
|
contaId?: string;
|
|
cartaoId?: string;
|
|
note?: string;
|
|
}
|
|
|
|
export interface DiscardInboxInput {
|
|
inboxItemId: string;
|
|
reason?: string;
|
|
}
|
|
|
|
// Re-export the lancamentos SelectOption for use in inbox components
|
|
export type SelectOption = LancamentoSelectOption;
|