DialogContent: padding p-6→p-10, max-w-lg→max-w-xl.
DialogFooter/AlertDialogFooter: botões com flex-1 (largura igual).
Remove gap-3/w-full redundantes de 12+ dialogs.
Reformatação Biome: line wrapping, import ordering.
Error component renomeado para evitar shadowing do global Error.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Adicionar tokens semânticos de estado (success, warning, info) no globals.css
- Migrar ~60+ componentes de cores hardcoded do Tailwind para tokens semânticos
- Unificar 3 arrays duplicados de cores de categorias em importação única
- Corrigir widgets de boleto/fatura que não atualizavam após pagamento
(actions de fatura e antecipação não invalidavam cache do dashboard)
- Corrigir scroll em listas Popover+Command (modal prop)
- Adicionar link "detalhes" no card de orçamento para página da categoria
- Adicionar indicadores de tendência coloridos nos cards de métricas
- Estender cores de chart de 6 para 10
- Normalizar dark mode e remover tokens não utilizados
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Substitui rotas separadas de inativos/arquivados por tabs inline em
Cartões, Contas e Anotações, seguindo o padrão já usado em Categorias.
Remove sub-links da sidebar e padroniza nomenclatura para "Arquivados".
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Adicionar indexes compostos em lancamentos para queries frequentes
- Eliminar ~20 JOINs com pagadores via helper cacheado getAdminPagadorId()
- Consolidar queries: income-expense-balance (12→1), payment-status (2→1), categories (4→2)
- Adicionar cache cross-request via unstable_cache com tag-based invalidation
- Limitar scan de métricas a 24 meses
- Deduplicar auth session por request via React.cache()
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
React 19 compiler auto-optimizes memoization, making manual hooks unnecessary.
Changes:
- Remove ~60 useCallback/useMemo across 16 files
- Remove React.memo from nav-button and return-button
- Simplify hydration with useSyncExternalStore (privacy-provider)
- Add CHANGELOG.md for version tracking
No functional changes - internal optimization only.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Novo widget de pagadores no dashboard com resumo de transações
- Substituir avatares SVG por PNG com melhor qualidade
- Melhorar seção de pagador no diálogo de lançamentos
- Adicionar ação para buscar pagadores por nome
- Atualizar componentes de seleção (cartões, categorias, contas)
- Melhorias no layout de ajustes e relatórios
Co-Authored-By: Claude Opus 4.5 <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>
- Usar DatePicker e PeriodPicker consistentes com modal de lançamentos
- Adicionar logos das contas nos selects de origem e destino
- Usar ContaCartaoSelectContent para exibição padronizada
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Corrigir cálculo de valor na importação de lançamentos parcelados
- Exibir valor total (parcela × quantidade) ao invés do valor da parcela individual
- Permite recriar parcelamentos importados com valor correto
- Permitir que usuários compartilhados se descompartilhem de pagadores
- Adicionar componente PagadorLeaveShareCard na aba Perfil
- Usuário filho pode sair do compartilhamento sem precisar do usuário pai
- Manter autorização bidirecionada na action de remoção de share
- Implementar submenu "Inativos" para contas bancárias
- Criar página /contas/inativos seguindo padrão de cartões
- Filtrar contas ativas e inativas em páginas separadas
- Adicionar ícone e navegação no sidebar
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)
As alterações consistem na substituição do caractere '•' por '-' em várias partes do código, visando padronizar a formatação dos textos exibidos. Essa mudança foi aplicada em componentes como `event-modal`, `accounts-page`, `expenses-by-category-widget`, `income-by-category-widget`, `pending-invoice-card`, entre outros, para melhorar a consistência visual da interface.
- 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