Files
openmonetis/components/lancamentos/types.ts
Felipe Coutinho fd817683ca feat: implementar sistema de preferências do usuário e refatorar changelog
Adiciona sistema completo de preferências de usuário:
  - Cria tabela userPreferences no schema com campos disableMagnetlines, periodMonthsBefore e periodMonthsAfter
  - Implementa página de Ajustes com abas (Preferências, Alterar nome, Senha, E-mail, Deletar conta)
  - Adiciona componente PreferencesForm para configuração de magnetlines e períodos de exibição
  - Propaga periodPreferences para todos os componentes de lançamentos e calendário

  Refatora sistema de changelog:
  - Remove implementação anterior baseada em JSON estático
  - Adiciona nova página de changelog dinâmica em app/(dashboard)/changelog
  - Adiciona componente changelog-list.tsx
  - Remove arquivos obsoletos (changelog-notification, actions, data, utils, scripts)

  Adiciona controle de saldo inicial em contas:
  - Novo campo excludeInitialBalanceFromIncome em contas
  - Permite excluir saldo inicial do cálculo de receitas
  - Atualiza queries de lançamentos para respeitar esta configuração

  Melhorias adicionais:
  - Adiciona componente ui/accordion.tsx do shadcn/ui
  - Refatora formatPeriodLabel para displayPeriod centralizado
  - Propaga estabelecimentos para componentes de lançamentos
  - Remove variável DB_PROVIDER obsoleta do .env.example e documentação
  - Adiciona 6 migrações de banco de dados (0003-0008)
2026-01-03 14:18:03 +00:00

60 lines
1.4 KiB
TypeScript

export type LancamentoItem = {
id: 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;
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;
};
export type LancamentoFilterOption = {
slug: string;
label: string;
icon?: string | null;
avatarUrl?: string | null;
};
export type ContaCartaoFilterOption = LancamentoFilterOption & {
kind: "conta" | "cartao";
logo?: string | null;
};