fix(insights): rebuild the recovery page onto the canonical metric structure

The recovery page rendered a grid of compact device-score tiles plus a
redundant cross-link to the recovery-score anatomy at the top. It now
follows the same structure as every other metric page (blood pressure,
pulse, the HealthKit scaffold): each present device-native signal renders
a block carrying a short explainer, the max / median / mean stat strip,
the shared chart with the identical 7 / 30 / 90 / All toggle, and a
per-chart assessment. Multiple charts now carry multiple matching texts.

Register the seven device-native recovery / strain signals (ANS charge,
day / workout strain, cardio load, whole-day average / max heart rate,
energy expenditure) in the generic metric-status registry so each chart
gets a generated assessment, gate them on the recovery module, and give
each its own chart-overlay slot. Drop the duplicate top score-link block
(this surface is reached from the overview already).

Regenerate the OpenAPI contract for the widened metric-status enum.
This commit is contained in:
Marc-André Bombeck committed 2026-06-16 21:35:09 +02:00
1 parent 930c4a75dd
commit bc2ce702f1
14 files changed
+380 -89

No files matched your search

+7
View File
@@ -4927,6 +4927,13 @@ paths:
- STAIR_ASCENT_SPEED
- STAIR_DESCENT_SPEED
- BREATHING_DISTURBANCES
- ANS_CHARGE
- DAY_STRAIN
- WORKOUT_STRAIN
- CARDIO_LOAD
- AVERAGE_HEART_RATE
- MAX_HEART_RATE
- ENERGY_EXPENDITURE_KJ
description: "HealthKit metric id to assess (e.g. RESTING_HEART_RATE, SLEEP_DURATION). Closed enum: an unknown id 422s.
The seven specialised metrics are served by their own routes and are not accepted here."
required: true