Files
openmonetis/components/lancamentos/types.ts
Felipe Coutinho ac2ea63dbd refactor: simplificar lancamento-dialog e mass-add-dialog
Substitui FaturaWarningDialog por deriveCreditCardPeriod() que calcula
o período da fatura automaticamente a partir da data de compra +
dia de fechamento/vencimento do cartão.

lancamento-dialog: remove periodDirty state, adiciona seção colapsável
"Condições e anotações", propaga closingDay/dueDay via cardInfo.

mass-add-dialog: unifica contaId/cartaoId em contaCartaoId com
parsing por prefixo, period picker apenas para cartão de crédito.

basic-fields-section: remove PeriodPicker (período agora auto-derivado),
move Estabelecimento para topo.

payment-method-section: adiciona InlinePeriodPicker como link
"Fatura de [mês]" com popover MonthPicker.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 17:23:23 +00:00

64 lines
1.4 KiB
TypeScript

export type LancamentoItem = {
id: string;
userId: string;
name: string;
purchaseDate: string;
period: string;
transactionType: string;
amount: number;
condition: string;
paymentMethod: string;
pagadorId: string | null;
pagadorName: string | null;
pagadorAvatar: string | null;
pagadorRole: string | null;
contaId: string | null;
contaName: string | null;
contaLogo: string | null;
cartaoId: string | null;
cartaoName: string | null;
cartaoLogo: string | null;
categoriaId: string | null;
categoriaName: string | null;
categoriaType: string | null;
categoriaIcon: string | null;
installmentCount: number | null;
recurrenceCount: number | null;
currentInstallment: number | null;
dueDate: string | null;
boletoPaymentDate: string | null;
note: string | null;
isSettled: boolean | null;
isDivided: boolean;
isAnticipated: boolean;
anticipationId: string | null;
seriesId: string | null;
readonly?: boolean;
};
export type SelectOption = {
value: string;
label: string;
role?: string | null;
group?: string | null;
slug?: string | null;
avatarUrl?: string | null;
logo?: string | null;
icon?: string | null;
accountType?: string | null;
closingDay?: string | null;
dueDay?: string | null;
};
export type LancamentoFilterOption = {
slug: string;
label: string;
icon?: string | null;
avatarUrl?: string | null;
};
export type ContaCartaoFilterOption = LancamentoFilterOption & {
kind: "conta" | "cartao";
logo?: string | null;
};