{exercise?.name ?? 'Exercise'}

{#each tabs as tab} {/each}
{#if activeTab === 'about'}
{#if exercise?.imageUrl} {exercise.name} {/if}
{exercise?.bodyPart} {exercise?.equipment} {exercise?.target}
{#if exercise?.secondaryMuscles?.length}

Also works: {exercise.secondaryMuscles.join(', ')}

{/if} {#if exercise?.instructions?.length}

Instructions

    {#each exercise.instructions as step}
  1. {step}
  2. {/each}
{/if}
{:else if activeTab === 'history'}
{#if history.length === 0}

No history for this exercise yet.

{:else} {#each history as entry (entry.sessionId)}
{entry.sessionName || 'Workout'} {new Date(entry.date).toLocaleDateString()}
{#each entry.sets as set, i (i)} {/each}
SETKGREPSEST. 1RM
{i + 1} {set.weight} {set.reps}{#if set.rpe} @{set.rpe}{/if} {epley1rm(set.weight, set.reps)} kg
{/each} {/if}
{:else if activeTab === 'charts'}
{#if (charts.est1rmOverTime?.length ?? 0) > 0} {:else}

Not enough data to display charts yet.

{/if}
{:else if activeTab === 'records'}
{#if prs.estimatedOneRepMax}
Estimated 1RM {prs.estimatedOneRepMax} kg
{/if} {#if prs.maxVolume}
Max Volume {prs.maxVolume} kg
{/if} {#if prs.maxWeight}
Max Weight {prs.maxWeight} kg
{/if}
{#if records.length}

Rep Records

{#each records as rec (rec.reps)} {/each}
REPSBEST PERFORMANCEEST. 1RM
{rec.reps} {rec.weight} kg × {rec.reps}{#if rec.date} ({new Date(rec.date).toLocaleDateString()}){/if} {rec.estimated1rm ?? epley1rm(rec.weight, rec.reps)} kg
{/if}
{/if}