{#if editOpen && editEnabled}
{galleryImages[lightboxIndex]} {lightboxIndex + 1} / {galleryImages.length} {s.value} {s.label} {detail.gear} Gear {error}{displayTitle}
{#if editEnabled}
{/if}
{#if trackUrl}
+ segment
{/if}
{#each detail.laps as lap}
Lap
Distance
Time
Avg speed
Avg HR
{/each}
#{lap.index + 1}
{formatDistance(lap.distance_m)}
{formatDuration(lap.duration_s)}
{formatSpeed(lap.avg_speed_kmh)}
{lap.avg_hr_bpm ? `${lap.avg_hr_bpm} bpm` : '—'}
Segments
{#each segmentEfforts as hit}
{@const isPR = hit.elapsed_s === hit.pr_elapsed_s}
{@const delta = hit.elapsed_s - hit.pr_elapsed_s}
{/each}
{hit.segment_name}
{formatDistance(hit.segment_distance_m)}
{formatElapsed(hit.elapsed_s)}
{#if isPR}PR{:else}+{Math.floor(delta/60) > 0 ? `${Math.floor(delta/60)}m${(delta%60).toString().padStart(2,'0')}s` : `${delta}s`}{/if}