Commit Graph

27 Commits

Author SHA1 Message Date
Felipe Coutinho
a7f63fb77a refactor: migrate from ESLint to Biome and extract SQL queries to data.ts
- 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>
2026-01-27 13:15:37 +00:00
Felipe Coutinho
741e2864b4 chore(deps): adiciona @dnd-kit para drag-and-drop 2026-01-20 16:36:53 +00:00
Felipe Coutinho
7670b26a8c chore(deps): atualizar dependências
- @ai-sdk/anthropic: 3.0.15 → 3.0.16
- @openrouter/ai-sdk-provider: 1.5.4 → 2.0.0
- ai: 6.0.39 → 6.0.42
- better-auth: 1.4.10 → 1.4.16
- motion: 12.26.2 → 12.27.3
- next: 16.1.1 → 16.1.4
- pg: 8.16.3 → 8.17.1
- resend: 6.7.0 → 6.8.0
- @types/node: 25.0.3 → 25.0.9
- @types/react: 19.2.7 → 19.2.8
- eslint-config-next: 16.1.1 → 16.1.4

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 13:43:17 +00:00
Felipe Coutinho
af36e5474d chore(deps): atualizar AI SDK, motion e baseline-browser-mapping
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 16:56:17 +00:00
Felipe Coutinho
6a45a5110d feat: implementar melhorias em importação, compartilhamento e contas inativas
- 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
2026-01-11 22:44:20 +00:00
Felipe Coutinho
901e423959 docs: expandir documentação do README e adicionar importação em massa de lançamentos
- 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
2026-01-05 13:01:18 +00:00
Felipe Coutinho
4237062bde feat: implementar relatórios de categorias e substituir seleção de período por picker visual
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
2026-01-04 03:03:09 +00:00
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
Felipe Coutinho
3eca48c71a feat: adicionar página de anotações arquivadas e componente de notificação
- 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.
2025-12-24 19:36:39 +00:00
Felipe Coutinho
e7cb9c9db1 chore: remover seções vazias de mudanças de código
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.
2025-12-16 23:20:47 +00:00
Felipe Coutinho
0744991edd chore: remove unused code and clean up imports
- Eliminado código não utilizado em vários arquivos
- Organizado e limpo as importações para melhorar a legibilidade
2025-12-10 16:53:19 +00:00
Felipe Coutinho
b7fcba77b7 feat(changelog): implementar funcionalidades de leitura de atualizações
- 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
2025-12-08 14:56:50 +00:00
Felipe Coutinho
7a4a947e3f fix: atualizar dependências do projeto
Atualiza as versões das dependências no package.json e pnpm-lock.yaml para as seguintes versões:
- @ai-sdk/openai: 2.0.79
- @openrouter/ai-sdk-provider: 1.4.1
- ai: 5.0.108
- drizzle-orm: 0.45.0
- react-day-picker: 9.12.0
- baseline-browser-mapping: 2.9.4
- drizzle-kit: 0.31.8
2025-12-07 18:50:00 +00:00
Felipe Coutinho
e50b0d1532 Refactor code structure for improved readability and maintainability 2025-12-04 14:44:08 +00:00
Felipe Coutinho
9cf89829f6 Remove unused font file and update font index; initialize database extensions with improved error handling; add EstabelecimentoLogo component for dynamic logo generation. 2025-12-01 16:35:12 +00:00
Felipe Coutinho
47038ae687 fix: corrige timezone e seleção de parcelas na análise de parcelas
- Ajusta timezone em datas de vencimento para evitar dia anterior
  - Corrige bug ao selecionar parcelas individuais (React state)
  - Melhora UI: exibe Total/Pendente sempre, Selecionado inline
2025-11-29 18:26:28 +00:00
Dionizio Ferreira
81b3dbeca5 separa os possiveis inicio de dev 2025-11-28 09:01:25 -03:00
Dionizio Ferreira
58892ab115 Configuração para permitir uma porta diferente no pnpm e não a 3000 2025-11-28 08:59:19 -03:00
Felipe Coutinho
2d8d677bcc fix: update dependencies to latest versions 2025-11-25 14:17:58 +00:00
Felipe Coutinho
e8a343a6dd feat: adiciona integração com Speed Insights
Adiciona o pacote @vercel/speed-insights e inclui o componente
SpeedInsights no layout principal da aplicação para melhorar a
análise de desempenho.
2025-11-23 12:32:38 -03:00
Felipe Coutinho
3d8772e55f feat: adiciona tipos para d3-array e ajusta configurações do TypeScript
- 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.
2025-11-17 20:58:05 -03:00
Felipe Coutinho
a7736b7ab9 feat: adicionar babel-plugin-react-compiler como dependência
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.
2025-11-17 19:55:21 -03:00
Felipe Coutinho
71e083fd49 Refactor code structure for improved readability and maintainability 2025-11-17 16:17:58 -03:00
Felipe Coutinho
b124d5193f chore: adicionar configuração de dependências no pnpm-workspace
Adiciona a configuração 'onlyBuiltDependencies' no arquivo
pnpm-workspace.yaml, especificando as dependências que devem ser
construídas: esbuild, sharp e unrs-resolver. Essa mudança visa
otimizar o gerenciamento de dependências no projeto.
2025-11-16 12:28:15 -03:00
Felipe Coutinho
7d88852ceb feat: adicionar configuração do ESLint e scripts de lint no package.json
Adiciona a configuração do ESLint ao projeto e inclui scripts para
executar e corrigir problemas de lint no package.json. Remove a
configuração anterior do ESLint que estava no arquivo .eslintrc.json.
2025-11-16 00:58:28 -03:00
Felipe Coutinho
9c004ca879 feat: remover variável de ambiente NEXT_PUBLIC_GOOGLE_OAUTH_ENABLED
Removida a variável de ambiente NEXT_PUBLIC_GOOGLE_OAUTH_ENABLED do
arquivo .env.example e ajustada a lógica de verificação do login
com Google no cliente de autenticação. Agora, a disponibilidade
do login com Google sempre retorna true, e a validação real
deve ser feita no servidor. Também removido o script de lint
do package.json.
2025-11-16 00:54:04 -03:00
Felipe Coutinho
ea0b8618e0 feat: adição de novos ícones SVG e configuração do ambiente
- 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
2025-11-15 15:49:36 -03:00