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>
- Replace ESLint with Biome for linting and formatting
- Configure Biome with tabs, double quotes, and organized imports
- Move all SQL/Drizzle queries from page.tsx files to data.ts files
- Create new data.ts files for: ajustes, dashboard, relatorios/categorias
- Update existing data.ts files: extrato, fatura (add lancamentos queries)
- Remove all drizzle-orm imports from page.tsx files
- Update README.md with new tooling info
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adiciona campo categoriaIcon ao tipo LancamentoItem e seu mapeamento
no page-helpers para exibir ícones das categorias na tabela.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Expande README.md com estatísticas detalhadas do projeto (200 componentes, 15+ tabelas, 20+ widgets)
- Adiciona descrição completa da stack técnica e versões
- Documenta estrutura de diretórios de forma abrangente
- Inclui diagramas de schema de banco de dados e fluxos de dados
- Adiciona seção de destaques e funcionalidades recentes
- Implementa diálogo de importação em massa de lançamentos (bulk-import-dialog.tsx)
- Adiciona fontes AISans (Regular e Semibold) ao projeto
- Remove classe bg-muted das páginas de autenticação
- Adiciona /docs ao .gitignore
- Limpa código não utilizado em componentes de lançamentos e páginas do dashboard
- Atualiza dependências no package.json
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)
- Adicionados ícones SVG para ChatGPT, Claude, Gemini e OpenRouter
- Implementados ícones para modos claro e escuro do ChatGPT
- Criado script de inicialização para PostgreSQL com extensão pgcrypto
- Adicionado script de configuração de ambiente que faz backup do .env
- Configurado tsconfig.json para TypeScript com opções de compilação