import React from 'react'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts'; const WorkoutCharts = ({ timeSeries }) => { // Transform timestamp to minutes from start for X-axis const formatTimeSeries = (data) => { if (!data || data.length === 0) return []; const startTime = new Date(data[0].timestamp); return data.map(point => ({ ...point, time: (new Date(point.timestamp) - startTime) / 60000, // Convert to minutes heart_rate: point.heart_rate || null, power: point.power || null, cadence: point.cadence || null })); }; const formattedData = formatTimeSeries(timeSeries); return (

Workout Metrics

[`${value} ${name === 'power' ? 'W' : name === 'heart_rate' ? 'bpm' : 'rpm'}`, name]} labelFormatter={(value) => `Time: ${value.toFixed(1)} min`} />

Note: Charts show metrics over time during the workout. Hover over points to see exact values.

); }; export default WorkoutCharts;