From db87da95c1fb6bc94b5baf0568bde41c240f783f Mon Sep 17 00:00:00 2001 From: marcoitaloesp-ai Date: Tue, 16 Dec 2025 15:17:46 +0000 Subject: [PATCH] FIX: Drill-down de categorias agora recarrega corretamente MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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. --- frontend/src/pages/Reports.jsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/src/pages/Reports.jsx b/frontend/src/pages/Reports.jsx index bc2fee3..37c4838 100644 --- a/frontend/src/pages/Reports.jsx +++ b/frontend/src/pages/Reports.jsx @@ -127,12 +127,19 @@ const Reports = () => { } finally { setLoading(false); } - }, [activeTab, year, months]); + }, [activeTab, year, months, selectedCategory]); useEffect(() => { loadData(); }, [loadData]); + // Recarrega dados quando categoria selecionada muda + useEffect(() => { + if (activeTab === 'category') { + loadData(); + } + }, [selectedCategory]); + const tabs = [ { id: 'summary', label: t('reports.summary'), icon: 'bi-clipboard-data' }, { id: 'category', label: t('reports.byCategory'), icon: 'bi-pie-chart' }, @@ -447,12 +454,10 @@ const Reports = () => { const handleCategoryClick = (cat) => { setSelectedCategory(cat); - loadData(); }; const handleBackToCategories = () => { setSelectedCategory(null); - loadData(); }; return (