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
Esta alteração melhora a função fetchInstallmentAnalysis ao adicionar um filtro
para garantir que apenas os grupos de parcelas com pelo menos uma parcela não
paga sejam retornados. Isso melhora a eficiência e a clareza dos dados
processados.
- Inclui a propriedade `cartaoLogo` no tipo `InstallmentGroup` para
armazenar o logo do cartão.
- Atualiza a função `fetchInstallmentAnalysis` para buscar e incluir
o logo do cartão nos dados retornados.
- Modifica o componente `InstallmentGroupCard` para renderizar o logo
do cartão, se disponível, ao lado do nome do cartão.
- Ajusta a formatação da função toggleInstallmentSelection para melhor legibilidade.
- Refatora a busca de grupos de parcelas para uma única linha.
- Remove a importação não utilizada do ícone RiCalculatorLine no nav-link.
- Adiciona o ícone RiCalculatorLine de volta ao widget de análise de parcelas.
- Remover cartaoLogo do tipo InstallmentGroup
- Remover busca de logo na query
- Remover exibição de logo e ícone fallback no componente
- Simplificar interface mostrando apenas nome do grupo
- Verificar se logo começa com /, http:// ou https://
- Prevenir erro com logos que são apenas nomes de arquivo
- Exibir fallback quando logo não é uma URL válida
- Adicionar validação para garantir que cartaoLogo é uma string válida
- Prevenir erro "Failed to construct 'URL': Invalid URL"
- Exibir ícone fallback quando logo não é válido
- Exibir logo do cartão ao lado do nome da parcela na análise
- Corrigir contagem de "X pendentes" para excluir parcelas já pagas
- Adicionar cartaoLogo à query e tipo InstallmentGroup
Ajustes finais na análise de parcelas:
- Corrigir contagem de parcelas pagas (agora conta isSettled corretamente)
- Estilização aprimorada para parcelas pagas:
* Cores verdes do sistema (green-50, green-700, dark mode suportado)
* Fundo verde claro com bordas verdes
* Texto e valores em verde
* Badge "Paga" com variant outline e cores verdes
* Line-through com decoração verde semi-transparente
- Remover card "Resumo" lateral (informação já está no card principal)
- Remover título "Lançamentos Parcelados" da página
- Layout full-width sem grid lateral
- Remover imports não utilizados (Separator, AnalysisSummaryPanel)
Melhorias na funcionalidade de análise de parcelas:
- Cálculo correto de vencimento baseado no dia de vencimento do cartão
- Identificação de parcelas pagas com indicador visual
- Parcelas pagas não podem ser selecionadas
- Remoção completa da funcionalidade de faturas (apenas parcelas)
- Layout mais compacto com espaçamentos reduzidos
- Botão "Análise" discreto ao lado do título do widget
- Card de resumo simplificado
- Tamanhos de fonte e ícones reduzidos
- Progress bar mais fina (h-1.5)
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
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.
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.
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.
Removidos os arquivos de guia de deploy para Coolify, Docker Hub e o
docker-compose.prod.yml, que estavam desatualizados. Atualizadas as
variáveis de ambiente no arquivo .env.example para refletir as
mudanças necessárias na configuração do projeto.
- Implementado o workflow GitHub Actions para build e push da imagem do OpenSheets para o Docker Hub.
- Criado guia de deploy no Coolify, detalhando opções de uso e configuração.
- Atualizados arquivos de configuração do Docker Compose para produção, incluindo serviços e variáveis de ambiente.
- Adicionadas instruções para gerenciamento de versões e troubleshooting.
- 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