Commit Graph

28 Commits

Author SHA1 Message Date
Felipe Coutinho
fc7083d95e perf(dashboard): usar Promise.all para fetching paralelo de dados
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 16:56:05 +00:00
Felipe Coutinho
6b033c79eb feat: sincronizar nome entre usuário e pagador admin
- Ao atualizar nome no perfil, sincronizar com pagador admin
- Ao editar pagador admin, sincronizar com nome do usuário

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 16:56:01 +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
147857c5bd feat: implementar melhorias em filtros, orçamentos e exportação
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
2026-01-05 15:49:16 +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
0767636eed feat(dashboard): ajustar layout e estilos
- 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
2025-12-11 17:43:33 +00:00
Felipe Coutinho
b767bd9599 feat(dashboard): adicionar widgets de despesas e receitas com gráfico
- 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.
2025-12-10 16:51:45 +00:00
Felipe Coutinho
0c445ee4a5 feat(dashboard): adicionar alerta de privacidade e ajustar estilos
- 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
2025-12-09 17:23:45 +00:00
Felipe Coutinho
9d03387079 fix: adjust padding and layout in various dashboard widgets for improved UI consistency 2025-12-02 13:54:13 +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
c834648d39 fix: corrige condição de análise de gastos parcelados
Ajusta a condição de filtragem para transações parceladas,
mudando "parcelado" para "Parcelado" para garantir a
correspondência correta com os dados.
2025-12-01 00:16:50 +00:00
Felipe Coutinho
cf5a0b7745 feat: implement category history widget and loading state for category history page 2025-11-28 13:42:21 +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
9fbe722d00 feat: adicionar estrutura para gerenciamento de mudanças de código
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.
2025-11-23 12:26:05 -03:00
Felipe Coutinho
3ce8541a56 fix: corrige a grafia de "OpenSheets" para "Opensheets"
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.
2025-11-22 20:29:25 -03:00
Felipe Coutinho
ac24961e4b refactor: substitui '•' por '-' em textos de exibição
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.
2025-11-22 12:58:57 -03:00
Felipe Coutinho
8c5313119d feat: atualiza fontes e altera avatar SVG
- 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).
2025-11-22 12:49:56 -03:00
Felipe Coutinho
4d076772e6 refactor: Relocate PrivacyProvider to the dashboard layout and update tsconfig jsx compiler option. 2025-11-21 09:40:41 -03:00
Claude
fcd4ebc608 feat: melhorar UX/UI e segurança do módulo de ajustes de usuário
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
2025-11-17 19:43:50 +00:00
Felipe Coutinho
71e083fd49 Refactor code structure for improved readability and maintainability 2025-11-17 16:17:58 -03:00
Felipe Coutinho
3ca495384c refactor: update icons and improve layout structure across components 2025-11-17 11:29:06 -03:00
Claude
115cb8836c feat: adicionar página de análise de parcelas e faturas
Implementa uma nova funcionalidade que permite ao usuário visualizar
todas as parcelas abertas e faturas não pagas em uma única página,
respondendo à pergunta "quanto vou gastar se pagar tudo?".

Funcionalidades:
- Query para buscar lançamentos parcelados não antecipados
- Query para buscar faturas pendentes
- Página dedicada em /dashboard/analise-parcelas
- Seleção individual de parcelas e faturas
- Painel de resumo com breakdown de valores
- Link "Ver Análise Completa" no widget de parcelas
- UI responsiva com cards expansíveis
- Cálculos em tempo real dos totais selecionados
2025-11-16 15:49:05 +00: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
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