Add a raw-data viewer to Review Queue cards, improve chart color palette

A "Raw data" button at the bottom right of each card opens a modal with the
full activity/laps/assignment JSON (embedded RawJSON strings parsed back
into objects for readability), to make it easier to inspect exactly what
data is available when iterating on the charts.

Phase band colors (warm-up/effort/recovery/cool-down) previously reused the
same blue/red as the pace/HR accent colors, making them hard to tell apart.
New palette (amber/pink/teal/violet) avoids both accents entirely.
This commit is contained in:
2026-07-19 15:05:46 +02:00
parent 6c6783ce50
commit 647757dcab
5 changed files with 133 additions and 10 deletions

View File

@@ -7,6 +7,8 @@ export interface Activity {
GarminActivityID: number;
ActivityName: string;
ActivityType: string;
EventTypeKey: string;
WorkoutID: number | null;
StartTimeUTC: string;
BeginTimestampMs: number;
DurationSeconds: number;
@@ -23,7 +25,12 @@ export interface Activity {
AnaerobicTrainingEffect: number | null;
TrainingEffectLabel: string;
VO2MaxValue: number | null;
// Raw JSON strings from Garmin, kept for fields not modeled above. Only
// needed by the Review Queue's raw-data viewer, so left as strings here
// rather than typed -- the viewer parses them for display.
RawJSON: string;
DetailsFetchedAt: string | null;
DetailsRawJSON: string | null;
SplitsFetchedAt: string | null;
CreatedAt: string;
UpdatedAt: string;
@@ -52,6 +59,7 @@ export interface Lap {
TargetPaceHighMps: number | null;
TargetHRLowBpm: number | null;
TargetHRHighBpm: number | null;
RawJSON: string;
}
export interface ActivityListItem extends Activity {