diff --git a/CHANGELOG.md b/CHANGELOG.md index fd7710e..0bd9d24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,22 @@ O formato segue [Keep a Changelog](https://keepachangelog.com/pt-BR/). Este projeto adota [Versionamento Semântico](https://semver.org/pt-BR/). +## [1.34.1] - 2025-12-15 + +### Improved +- **UI/UX do Resumo de Relatórios** - Interface redesenhada com visual mais profissional + - Cards KPI com ícones grandes e hierarquia visual clara + - Badges de variação com fundo branco para melhor contraste + - Adicionadas métricas de média mensal em todos os cards + - Novo card dedicado para Taxa de Poupança com barra de progresso + - Feedback visual inteligente baseado na taxa de poupança: + * 🎯 ≥20%: "Excelente poupança!" + * 👍 ≥10%: "Boa poupança" + * 💡 <10%: "Pode melhorar" + - Gráfico comparativo melhorado com bordas arredondadas e tooltips aprimorados + - Header do resumo com ícone e seletor de ano redesenhado + - Tradução completa: pt-BR, en, es + ## [1.34.0] - 2025-12-14 ### Fixed diff --git a/VERSION b/VERSION index 2b17ffd..a95a46d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.34.0 +1.34.1 diff --git a/frontend/src/i18n/locales/en.json b/frontend/src/i18n/locales/en.json index b005fdf..c88c3dd 100644 --- a/frontend/src/i18n/locales/en.json +++ b/frontend/src/i18n/locales/en.json @@ -1834,7 +1834,14 @@ "topExpenses": "Top Expenses", "vsAverage": "vs Average", "vsLastPeriod": "vs Last Period", + "vsLastYear": "vs last year", "yearComparison": "Year Comparison", + "annualSummary": "Annual Summary", + "monthlyAverage": "Monthly Average", + "excellentSavings": "Excellent savings!", + "goodSavings": "Good savings", + "canImprove": "Can improve", + "total": "Total", "expenseDistribution": "Expense Distribution", "categoryDetail": "Category Detail", "category": "Category", diff --git a/frontend/src/i18n/locales/es.json b/frontend/src/i18n/locales/es.json index 5eee580..4aedbeb 100644 --- a/frontend/src/i18n/locales/es.json +++ b/frontend/src/i18n/locales/es.json @@ -1801,6 +1801,14 @@ "avgIncome": "Ingreso promedio", "avgExpense": "Gasto promedio", "vsLastPeriod": "vs período anterior", + "vsLastYear": "vs año anterior", + "yearComparison": "Comparación Anual", + "annualSummary": "Resumen Anual", + "monthlyAverage": "Promedio Mensual", + "excellentSavings": "¡Excelente ahorro!", + "goodSavings": "Buen ahorro", + "canImprove": "Puede mejorar", + "total": "Total", "dayOfWeek": { "sunday": "Domingo", "monday": "Lunes", diff --git a/frontend/src/i18n/locales/pt-BR.json b/frontend/src/i18n/locales/pt-BR.json index 1fd0427..08bc63e 100644 --- a/frontend/src/i18n/locales/pt-BR.json +++ b/frontend/src/i18n/locales/pt-BR.json @@ -1836,7 +1836,14 @@ "topExpenses": "Maiores Despesas", "vsAverage": "vs Média", "vsLastPeriod": "vs Período Anterior", + "vsLastYear": "vs ano anterior", "yearComparison": "Comparativo Anual", + "annualSummary": "Resumo Anual", + "monthlyAverage": "Média Mensal", + "excellentSavings": "Excelente poupança!", + "goodSavings": "Boa poupança", + "canImprove": "Pode melhorar", + "total": "Total", "expenseDistribution": "Distribuição de Despesas", "categoryDetail": "Detalhes por Categoria", "category": "Categoria", diff --git a/frontend/src/pages/Reports.jsx b/frontend/src/pages/Reports.jsx index 46027d1..cb9712c 100644 --- a/frontend/src/pages/Reports.jsx +++ b/frontend/src/pages/Reports.jsx @@ -169,64 +169,152 @@ const Reports = () => { const renderSummary = () => { if (!summary) return null; + const savingsRate = summary.current.income > 0 + ? ((summary.current.balance / summary.current.income) * 100).toFixed(1) + : 0; + + const monthlyAvgIncome = (summary.current.income / 12).toFixed(2); + const monthlyAvgExpense = (summary.current.expense / 12).toFixed(2); + const monthlyAvgBalance = (summary.current.balance / 12).toFixed(2); + return (