From 6577d2ae3c624add6b07a19fee04e5872bbffe29 Mon Sep 17 00:00:00 2001 From: MacRimi Date: Sun, 26 Oct 2025 12:32:40 +0100 Subject: [PATCH] Update AppImage --- AppImage/components/network-metrics.tsx | 1 + AppImage/components/network-traffic-chart.tsx | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/AppImage/components/network-metrics.tsx b/AppImage/components/network-metrics.tsx index eaf29ff..9460f66 100644 --- a/AppImage/components/network-metrics.tsx +++ b/AppImage/components/network-metrics.tsx @@ -889,6 +889,7 @@ export function NetworkMetrics() { timeframe={modalTimeframe} interfaceName={displayInterface.name} onTotalsCalculated={setInterfaceTotals} + refreshInterval={15000} /> diff --git a/AppImage/components/network-traffic-chart.tsx b/AppImage/components/network-traffic-chart.tsx index c39934c..87e12b3 100644 --- a/AppImage/components/network-traffic-chart.tsx +++ b/AppImage/components/network-traffic-chart.tsx @@ -15,6 +15,7 @@ interface NetworkTrafficChartProps { timeframe: string interfaceName?: string onTotalsCalculated?: (totals: { received: number; sent: number }) => void + refreshInterval?: number // En milisegundos, por defecto 60000 (60 segundos) } const CustomNetworkTooltip = ({ active, payload, label }: any) => { @@ -37,7 +38,12 @@ const CustomNetworkTooltip = ({ active, payload, label }: any) => { return null } -export function NetworkTrafficChart({ timeframe, interfaceName, onTotalsCalculated }: NetworkTrafficChartProps) { +export function NetworkTrafficChart({ + timeframe, + interfaceName, + onTotalsCalculated, + refreshInterval = 60000, +}: NetworkTrafficChartProps) { const [data, setData] = useState([]) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) @@ -50,6 +56,16 @@ export function NetworkTrafficChart({ timeframe, interfaceName, onTotalsCalculat fetchMetrics() }, [timeframe, interfaceName]) + useEffect(() => { + if (refreshInterval > 0) { + const interval = setInterval(() => { + fetchMetrics() + }, refreshInterval) + + return () => clearInterval(interval) + } + }, [timeframe, interfaceName, refreshInterval]) + const fetchMetrics = async () => { setLoading(true) setError(null)