diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx index 00a0b76..3e4cb31 100644 --- a/src/pages/Index.tsx +++ b/src/pages/Index.tsx @@ -22,6 +22,7 @@ const Dashboard = () => { async function loadData() { try { setIsLoading(true); + console.log("Iniciando carregamento de dados..."); // Buscar todos os dados necessários const [transacoesData, totalsData, categoriesData, monthlyDataResult] = await Promise.all([ @@ -31,6 +32,13 @@ const Dashboard = () => { getMonthlyData() ]); + console.log("Dados obtidos com sucesso:", { + transacoes: transacoesData.length, + totals: totalsData, + categories: categoriesData.length, + monthlyData: monthlyDataResult.length + }); + setTransactions(transacoesData); setTotals(totalsData); setCategories(categoriesData); diff --git a/src/services/transacaoService.ts b/src/services/transacaoService.ts index b9ebfe5..6f68960 100644 --- a/src/services/transacaoService.ts +++ b/src/services/transacaoService.ts @@ -3,6 +3,7 @@ import { supabase } from "@/integrations/supabase/client"; import { Transaction } from "@/types/financialTypes"; export async function getTransacoes(): Promise { + console.log("Buscando transações do Supabase..."); const { data, error } = await supabase .from('transacoes') .select('*') @@ -13,6 +14,8 @@ export async function getTransacoes(): Promise { throw new Error('Não foi possível carregar as transações'); } + console.log("Transações encontradas:", data); + // Transformar os dados recebidos para o formato esperado return data.map((item) => ({ id: item.id.toString(), @@ -28,6 +31,7 @@ export async function getTransacoes(): Promise { } export async function getTransactionSummary() { + console.log("Buscando resumo das transações..."); const { data, error } = await supabase .from('transacoes') .select('tipo, valor'); @@ -37,6 +41,8 @@ export async function getTransactionSummary() { throw new Error('Não foi possível carregar o resumo das transações'); } + console.log("Dados para resumo encontrados:", data); + const totalReceitas = data .filter(item => item.tipo === 'entrada') .reduce((sum, item) => sum + (item.valor || 0), 0); @@ -45,14 +51,18 @@ export async function getTransactionSummary() { .filter(item => item.tipo === 'saida') .reduce((sum, item) => sum + (item.valor || 0), 0); - return { + const resultado = { receitas: totalReceitas, despesas: totalDespesas, saldo: totalReceitas - totalDespesas }; + + console.log("Resumo calculado:", resultado); + return resultado; } export async function getCategorySummary() { + console.log("Buscando resumo de categorias..."); const { data, error } = await supabase .from('transacoes') .select('categoria, valor, tipo') @@ -63,6 +73,8 @@ export async function getCategorySummary() { throw new Error('Não foi possível carregar o resumo por categoria'); } + console.log("Dados de categorias encontrados:", data); + // Agrupar por categoria const categorias: Record = {}; data.forEach(item => { @@ -81,15 +93,19 @@ export async function getCategorySummary() { const cores = ["#F59E0B", "#60A5FA", "#8B5CF6", "#EF4444", "#10B981", "#6366F1", "#EC4899", "#14B8A6"]; // Mapear para o formato esperado - return Object.entries(categorias).map(([categoria, valor], index) => ({ + const resultado = Object.entries(categorias).map(([categoria, valor], index) => ({ categoria, valor, percentage: total > 0 ? valor / total : 0, color: cores[index % cores.length] })); + + console.log("Resumo de categorias calculado:", resultado); + return resultado; } export async function getMonthlyData() { + console.log("Buscando dados mensais..."); const { data, error } = await supabase .from('transacoes') .select('quando, valor, tipo'); @@ -99,6 +115,8 @@ export async function getMonthlyData() { throw new Error('Não foi possível carregar os dados mensais'); } + console.log("Dados mensais encontrados:", data); + const meses: Record = {}; const nomesMeses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez']; @@ -123,9 +141,12 @@ export async function getMonthlyData() { }); // Converter para o formato esperado - return Object.entries(meses).map(([month, values]) => ({ + const resultado = Object.entries(meses).map(([month, values]) => ({ month, receitas: values.receitas, despesas: values.despesas })); + + console.log("Dados mensais calculados:", resultado); + return resultado; }