Refatoração de Filtros:
- Move filtros select para Drawer lateral direito
- Mantém busca fora do Drawer para acesso rápido
- Adiciona indicador visual de filtros ativos
- Implementa aplicação instantânea de filtros
- Adiciona border-dashed e aumenta input de busca
Cópia de Orçamentos:
- Implementa funcionalidade de copiar orçamentos do mês anterior
- Adiciona server action com validações e tratamento de erros
- Cria modal de confirmação para a ação
- Evita duplicações automáticas
Exportação de Lançamentos:
- Adiciona exportação em CSV, XLSX e PDF
- Integra botão de exportação nos filtros
- Segue padrão de Relatórios de Categorias
- Inclui formatação específica por formato
- 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
BREAKING CHANGE: Remove feature de seleção de período das preferências do usuário
Alterações principais:
- Adiciona sistema completo de relatórios por categoria
- Cria página /relatorios/categorias com filtros e visualizações
- Implementa tabela e gráfico de evolução mensal
- Adiciona funcionalidade de exportação de dados
- Cria skeleton otimizado para melhor UX de loading
- Remove feature de seleção de período das preferências
- Deleta lib/user-preferences/period.ts
- Remove colunas periodMonthsBefore e periodMonthsAfter do schema
- Remove todas as referências em 16+ arquivos
- Atualiza database schema via Drizzle
- Substitui Select de período por MonthPicker visual
- Implementa componente PeriodPicker reutilizável
- Integra shadcn MonthPicker customizado (português, Remix icons)
- Substitui createMonthOptions em todos os formulários
- Mantém formato "YYYY-MM" no banco de dados
- Melhora design da tabela de relatórios
- Mescla colunas Categoria e Tipo em uma única coluna
- Substitui badge de tipo por dot colorido discreto
- Reduz largura da tabela em ~120px
- Atualiza skeleton para refletir nova estrutura
- Melhorias gerais de UI
- Reduz espaçamento entre títulos da sidebar (p-2 → px-2 py-1)
- Adiciona MonthNavigation para navegação entre períodos
- Otimiza loading states com skeletons detalhados
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)
- Implementa a página de anotações arquivadas, que busca as notas
arquivadas do usuário e as exibe utilizando o componente NotesPage.
- Cria o componente NotificationBell para gerenciar e exibir
notificações de pagamentos, incluindo a formatação de datas e
valores monetários. O componente também apresenta um sistema de
tooltip e dropdown para interação do usuário.
Este commit remove seções vazias de mudanças de código do arquivo de
mudanças. Isso ajuda a manter o histórico de mudanças mais limpo e
organizado, facilitando a leitura e a compreensão das alterações
realizadas no projeto.
- Adiciona o PrivacyProvider ao layout do dashboard
- Atualiza variáveis de cor no CSS para o tema
- Modifica largura máxima de elementos no componente de tabela
- Remove fonte antropic-sans e substitui por Barlow
- Ajusta classes de estilo em componentes de cartão e sidebar
- Adiciona o widget de despesas por categoria com gráfico.
- Adiciona o widget de receitas por categoria com gráfico.
- Atualiza a configuração dos widgets para incluir novos componentes.
- Ajusta estilos e tamanhos de elementos nos widgets existentes.
- Criação do documento PLAN.md com análise da aplicação
- Identificação de pontos fortes e sugestões de novas features
- Inclusão de melhorias técnicas e métricas de sucesso
- Adicionar alerta de privacidade na página de insights
- Ajustar classes de estilo para widgets de despesas e renda
- Atualizar .gitignore para incluir QWEN.md
- Modificar estilos de fundo e sombra no componente DashboardWelcome
- Atualiza a data de geração do changelog
- Adiciona nova entrada de changelog com funcionalidades para marcar atualizações como lidas
- Melhora a lógica de geração de changelog para suportar o formato "type(scope): message"
- Adiciona funções para marcar atualizações como lidas
- Implementa a lógica para marcar todas as atualizações como lidas
- Adiciona suporte a logs de atualizações lidas no banco de dados
- Cria funções utilitárias para manipulação de changelog
- Gera changelog a partir de commits do Git
- Salva changelog em formato JSON na pasta pública
perf: adicionar índices de banco de dados para otimização de queries
- Cria 14 índices compostos em tabelas principais (lancamentos, contas, etc)
- Adiciona índice user_id + period em lancamentos, faturas e orçamentos
- Adiciona índices para séries de parcelas e transferências
- Melhora a apresentação do nome do grupo e do cartão no componente
InstallmentGroupCard, utilizando um layout mais compacto.
- Altera a lógica de busca na função fetchInstallmentAnalysis para incluir
lançamentos parcelados apenas do pagador com a função de admin.
Implementa um sistema para registrar e gerenciar mudanças de código
de forma eficiente. A estrutura permite a adição, remoção e edição
de entradas de mudanças, facilitando o acompanhamento do histórico
de alterações no projeto.
Este commit altera todas as ocorrências de "OpenSheets" para "Opensheets"
em arquivos de layout, README, componentes e notificações, garantindo
consistência na nomenclatura do projeto.
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.
- Substitui a fonte "Outfit" pela "Funnel_Display" no arquivo font_index.ts.
- Atualiza a referência da fonte principal para "anthropic_sans" e define
"funnel_display" como a fonte para "money_font" e "title_font".
- Modifica o arquivo SVG do avatar 015, alterando a cor de preenchimento
de alguns elementos para um tom mais vibrante (#F96837).
- Adiciona a dependência @types/d3-array na versão ^3.2.2 ao package.json.
- Atualiza o pnpm-lock.yaml para incluir a nova dependência.
- Modifica o tsconfig.json para usar "jsx": "preserve" em vez de "react-jsx".
- Remove quebras de linha desnecessárias e mantém a formatação consistente.
Adiciona o plugin babel-plugin-react-compiler à lista de dependências
no arquivo package.json e atualiza o pnpm-lock.yaml para refletir
essa mudança. Isso melhora a compatibilidade e a eficiência do
processo de compilação do React.
Implementa melhorias abrangentes de UX, UI e segurança nos formulários
de alteração de senha e e-mail:
✨ Funcionalidades adicionadas:
- Validação em tempo real para campos duplicados (senha e e-mail)
- Campo de senha atual obrigatório para alterações de senha
- Campo de senha para confirmar identidade ao alterar e-mail
- Detecção de método de autenticação (Google OAuth vs Email/Senha)
- Indicador de força de senha com feedback visual
- Bloqueio de alteração de senha para usuários Google OAuth
🎨 Melhorias de UI:
- Feedback visual instantâneo com ícones de check/close
- Bordas coloridas indicando status de validação (verde/vermelho)
- Mensagens de erro claras e específicas em tempo real
- Alerta amigável para usuários Google OAuth
- Indicador de progresso de força de senha
🔒 Segurança:
- Validação de senha atual no backend usando Better Auth
- Prevenção de alteração para o mesmo e-mail
- Verificação de e-mails duplicados no sistema
- Bloqueio de submissão quando validações falham
♿ Acessibilidade:
- Atributos aria-label, aria-required, aria-invalid
- role="alert" para mensagens de erro
- aria-describedby para textos auxiliares
- Labels descritivas e navegação por teclado aprimorada
🐛 Correções:
- Corrigido uso de error.errors para error.issues no Zod
- Validação backend de senha atual implementada
- Mensagens de erro específicas (não genéricas)
Ref: Análise completa de UX/UI solicitada para módulo de ajustes