- Redesigned all email templates with professional corporate style
- Created base layout with dark header, status cards, and footer
- Updated: subscription-cancelled, account-activation, welcome, welcome-new-user, due-payments-alert
- Removed emojis and gradients for cleaner look
- Added multi-language support (ES, PT-BR, EN)
- Fixed email delivery (sync instead of queue)
- Fixed PayPal already-cancelled subscription handling
- Cleaned orphan subscriptions from deleted users
- Nova Landing Page institucional em /
- Seções: Hero, Features, Pricing, FAQ, CTA, Footer
- Pricing integrado com API de planos
- Register.jsx agora suporta seleção de plano
- Parâmetro ?plan=slug na URL do registro
- Traduções EN, ES, PT-BR para landing
- PayPal configurado no servidor (sandbox)
Versão: 1.54.0
- Add UserManagementController@store for creating users
- Add POST /api/admin/users endpoint
- Support user types: Free, Pro, Admin
- Auto-create 100-year subscription for Pro/Admin users
- Add user creation modal to Users.jsx
- Complete SaaS limit testing:
- Free user limits: 1 account, 10 categories, 3 budgets, 100 tx
- Middleware blocks correctly at limits
- Error messages are user-friendly
- Usage stats API working correctly
- Update SAAS_STATUS.md with test results
- Bump version to 1.51.0
## New Features
- Email notifications for overdue and upcoming payments
- User preferences page for notification settings
- Daily scheduler to send alerts at user-configured time
- Smart analysis: payable items, transfer suggestions between accounts
## Backend
- Migration for user_preferences table
- SendDuePaymentsAlert Artisan command
- DuePaymentsAlert Mailable with HTML/text templates
- UserPreferenceController with test-notification endpoint
- Scheduler config for notify:due-payments command
## Frontend
- Preferences.jsx page with notification toggle
- API service for preferences
- Route and menu link for settings
- Translations (PT-BR, EN, ES)
## Server
- Cron configured for Laravel scheduler
Version: 1.44.5
- Adicionado selectedCategory nas dependências do useCallback
- Criado useEffect separado para recarregar quando categoria muda
- Removido loadData() dos handlers (agora feito pelo useEffect)
Isso resolve o problema de estado assíncrono onde setSelectedCategory
não atualizava antes de loadData() ser chamado.
ADDED:
- Relatório Por Categoria agora suporta drill-down clicável
- Clicar em categoria pai exibe gráfico com suas subcategorias
- Botão Voltar para retornar às categorias principais
- Hover visual em linhas de tabela e cards clicáveis
- Backend aceita parent_id como parâmetro em /reports/by-category
CHANGED:
- Backend: query padrão mostra apenas categorias pai (parent_id IS NULL)
- Backend: nova query para subcategorias quando parent_id é fornecido
- Frontend: estado selectedCategory para rastrear navegação
- Frontend: onClick handlers em gráfico, tabela e cards
TRANSLATION:
- pt-BR: Distribuição de Subcategorias
- es: Distribución de Subcategorías
- en: Subcategory Distribution
- Usar displayColor ao passar cor para filhos (não category.color)
- Fallback para cor padrão se categoria não tiver cor
- Garante que todas as subcategorias usem a mesma cor da categoria pai
- Service Worker v1.39.0 com estratégias offline-first
- Cache-First: imagens, fontes (resposta imediata)
- Network-First: chamadas API (dados frescos)
- Stale-While-Revalidate: HTML/CSS/JS
- Verificação de atualizações a cada 1 hora
- Prompt de atualização quando nova versão disponível
- manifest.json otimizado: scope, categories, prefer_related_applications
- Meta tags iOS: apple-mobile-web-app-capable, black-translucent
- Registro automático do Service Worker em main.jsx
- Documentação completa: docs/INSTALACAO_iOS.md
- Compatível com upgrade futuro para Capacitor (30 min, zero mudanças)
Deploy: frontend/dist deployed to 213.165.93.60
Improved:
- Cards KPI com gradientes e ícones para cada métrica
- Tabela comparativa detalhada lado a lado
- Gráfico de barras agrupadas profissional
- Layout responsivo otimizado
- Badges de variação com validação NaN
- Traduções completas (pt-BR, en, es)
Fixed:
- Adicionado costCenters.name (Nome/Name/Nombre)
- Corrige coluna em relatórios por centro de custo
Added:
- 5 novas subcategorias em Filhos
- Mesada, Passeios, Festas, Material Escolar, Transporte Escolar
- Total de 12 subcategorias disponíveis
Fixed:
- Adicionado transactions.credit e transactions.debit
- Corrige exibição de tipo nos templates de recorrência
- Traduções completas em pt-BR, en, es
Fixed:
- Adicionado transactions.expense e transactions.income
- Traduções completas em pt-BR, en, es
- Corrige filtros na página de Templates de Recorrência
Fixed:
- Filtros vazios removidos antes da requisição
- Templates agora aparecem corretamente na lista
- Corrige bug que causava lista vazia ao carregar página
Improved:
- Cards KPI redesenhados com ícones e melhor hierarquia
- Badges de variação com contraste aprimorado
- Métricas de média mensal adicionadas
- Card de Taxa de Poupança com barra de progresso
- Feedback inteligente (Excelente/Boa/Pode melhorar)
- Gráfico comparativo com tooltips e bordas arredondadas
- Tradução completa (pt-BR, en, es)