From 1d1135cbe4e9942496651c3262a02c06b5990db1 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 18:08:56 +0000 Subject: [PATCH] Fix: Dashboard pie chart missing categories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Corrected the category filtering in the dashboard pie chart to include 'despesas' and 'serviΓ§os'. --- src/services/transacao/summaryService.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/services/transacao/summaryService.ts b/src/services/transacao/summaryService.ts index 82cb6bb..a1b59a9 100644 --- a/src/services/transacao/summaryService.ts +++ b/src/services/transacao/summaryService.ts @@ -164,18 +164,29 @@ export async function getCategorySummary(tipo: string = 'despesa'): Promise ({ categoria: d.categoria, valor: d.valor, tipo: d.tipo }))); + // Group by category and sum values const categoryMap: { [key: string]: number } = {}; let total = 0; data.forEach((transaction) => { - const categoria = transaction.categoria || 'Outros'; + // Usar a categoria exata ou 'Outros' se for null/undefined/vazia + const categoria = transaction.categoria && transaction.categoria.trim() !== '' + ? transaction.categoria.trim() + : 'Outros'; + const valor = Math.abs(Number(transaction.valor || 0)); + console.log(`πŸ“‹ [getCategorySummary] Processando: categoria='${categoria}', valor=${valor}`); + categoryMap[categoria] = (categoryMap[categoria] || 0) + valor; total += valor; }); + console.log(`πŸ“‹ [getCategorySummary] Mapeamento final de categorias:`, categoryMap); + console.log(`πŸ“‹ [getCategorySummary] Total geral: ${total}`); + // Enhanced color palette with more distinct colors - avoiding white/light colors const colors = [ '#FF6B6B', '#4ECDC4', '#45B7D1', '#96CEB4', '#FFEAA7', @@ -196,7 +207,7 @@ export async function getCategorySummary(tipo: string = 'despesa'): Promise b.valor - a.valor); - console.log(`πŸ“‹ [getCategorySummary] ${categoryArray.length} categorias processadas`); + console.log(`πŸ“‹ [getCategorySummary] ${categoryArray.length} categorias processadas:`, categoryArray); return categoryArray; } catch (error) { console.error('πŸ’₯ [getCategorySummary] Erro geral:', error);