added power
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
// Linked hover: emit/receive index into timeseries arrays
|
||||
export let hoveredIdx: number | null = null;
|
||||
|
||||
type Tab = 'elevation' | 'speed' | 'hr' | 'cadence';
|
||||
type Tab = 'elevation' | 'speed' | 'hr' | 'cadence' | 'power';
|
||||
type XMode = 'time' | 'distance';
|
||||
type ChartType = 'line' | 'histogram';
|
||||
|
||||
@@ -38,12 +38,14 @@
|
||||
speed: timeseries.speed_kmh[i],
|
||||
hr: timeseries.hr_bpm[i],
|
||||
cadence: timeseries.cadence_rpm[i],
|
||||
power: timeseries.power_w[i],
|
||||
}));
|
||||
|
||||
$: hasHR = timeseries.hr_bpm.some(v => v != null);
|
||||
$: hasCadence = timeseries.cadence_rpm.some(v => v != null);
|
||||
$: hasElevation = timeseries.elevation_m.some(v => v != null);
|
||||
$: hasSpeed = timeseries.speed_kmh.some(v => v != null);
|
||||
$: hasPower = timeseries.power_w.some(v => v != null);
|
||||
$: hasDistance = dist_km !== null;
|
||||
|
||||
const tabLabels: Record<Tab, string> = {
|
||||
@@ -51,6 +53,7 @@
|
||||
speed: 'Speed',
|
||||
hr: 'Heart Rate',
|
||||
cadence: 'Cadence',
|
||||
power: 'Power',
|
||||
};
|
||||
|
||||
const tabMeta: Record<Tab, { color: string; yLabel: string; yKey: string }> = {
|
||||
@@ -58,6 +61,7 @@
|
||||
speed: { color: '#ff6b35', yLabel: 'Speed (km/h)', yKey: 'speed' },
|
||||
hr: { color: '#f87171', yLabel: 'Heart Rate (bpm)', yKey: 'hr' },
|
||||
cadence: { color: '#a78bfa', yLabel: 'Cadence (rpm)', yKey: 'cadence' },
|
||||
power: { color: '#facc15', yLabel: 'Power (W)', yKey: 'power' },
|
||||
};
|
||||
|
||||
// ── Histogram controls ───────────────────────────────────────────────────
|
||||
@@ -116,7 +120,8 @@
|
||||
activeTab === 'elevation' ? hasElevation :
|
||||
activeTab === 'speed' ? hasSpeed :
|
||||
activeTab === 'hr' ? hasHR :
|
||||
hasCadence;
|
||||
activeTab === 'cadence' ? hasCadence :
|
||||
hasPower;
|
||||
if (!tabEnabled) return;
|
||||
|
||||
chart = chartType === 'histogram'
|
||||
@@ -199,7 +204,8 @@
|
||||
tab === 'elevation' ? hasElevation :
|
||||
tab === 'speed' ? hasSpeed :
|
||||
tab === 'hr' ? hasHR :
|
||||
hasCadence}
|
||||
tab === 'cadence' ? hasCadence :
|
||||
hasPower}
|
||||
<button
|
||||
class="px-3 py-1.5 rounded-md text-sm transition-colors"
|
||||
class:opacity-30={!enabled}
|
||||
|
||||
Reference in New Issue
Block a user