From e3819327a94f6df7bb5cc8d33e58a40ee9d31b50 Mon Sep 17 00:00:00 2001 From: Lars Date: Tue, 24 Mar 2026 06:30:39 +0100 Subject: [PATCH] fix: reload TrainingTypeDistribution on quality filter change (Issue #31) The component was loading data from backend (which uses global filter) but useEffect dependency didn't include quality_filter_level, so it didn't reload when user changed the filter in Settings. Added useProfile() context and activeProfile.quality_filter_level to dependency array. Co-Authored-By: Claude Opus 4.6 --- frontend/src/components/TrainingTypeDistribution.jsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/TrainingTypeDistribution.jsx b/frontend/src/components/TrainingTypeDistribution.jsx index 39889f8..0c07780 100644 --- a/frontend/src/components/TrainingTypeDistribution.jsx +++ b/frontend/src/components/TrainingTypeDistribution.jsx @@ -1,6 +1,7 @@ import { useState, useEffect } from 'react' import { PieChart, Pie, Cell, ResponsiveContainer, Legend, Tooltip } from 'recharts' import { api } from '../utils/api' +import { useProfile } from '../context/ProfileContext' /** * TrainingTypeDistribution - Pie chart showing activity distribution by type @@ -8,6 +9,7 @@ import { api } from '../utils/api' * @param {number} days - Number of days to analyze (default: 28) */ export default function TrainingTypeDistribution({ days = 28 }) { + const { activeProfile } = useProfile() // Issue #31: Trigger reload on quality filter change const [data, setData] = useState([]) const [categories, setCategories] = useState({}) const [loading, setLoading] = useState(true) @@ -41,7 +43,7 @@ export default function TrainingTypeDistribution({ days = 28 }) { console.error('Failed to load training type distribution:', err) setLoading(false) }) - }, [days]) + }, [days, activeProfile?.quality_filter_level]) // Issue #31: Reload when quality filter changes if (loading) { return (