Read-only summary card for one completed session. Pass the fetched
SessionReturnDto, its precomputed SessionSummary
(summarizeSession), the active Units, and the load / 1RM dimensions
for formatting. Resolves the exercise name/subtitle via the shared text and
exercise hooks.
loadingCtx (optional, default absolute) renders the per-set loads and the
headline 1RM as a delta from the athlete's bodyweight ("BW +5 kg") for
Bodyweight-equipment exercises — the caller resolves it (e.g. via
useLoadingContext). The Σ volume stays absolute: it's a sum, not a load.
action is an optional, use-case-specific control the consumer injects (e.g.
a "Go to performance" button); when set it renders in a footer below the card.
Read-only summary card for one completed session. Pass the fetched SessionReturnDto, its precomputed SessionSummary (
summarizeSession), the active Units, and the load / 1RM dimensions for formatting. Resolves the exercise name/subtitle via the shared text and exercise hooks.loadingCtx(optional, default absolute) renders the per-set loads and the headline 1RM as a delta from the athlete's bodyweight ("BW +5 kg") for Bodyweight-equipment exercises — the caller resolves it (e.g. viauseLoadingContext). The Σ volume stays absolute: it's a sum, not a load.actionis an optional, use-case-specific control the consumer injects (e.g. a "Go to performance" button); when set it renders in a footer below the card.