{#if editOpen && editEnabled} editOpen = false} /> {/if} {#if lightboxIndex !== null}
lightboxIndex = null} on:keydown={onKeydown} > {#if galleryImages.length > 1} {/if} {#if galleryImages.length > 1} {/if}

{galleryImages[lightboxIndex]}

{#if galleryImages.length > 1}

{lightboxIndex + 1} / {galleryImages.length}

{/if}
{/if}
{sportIcon(activity.sport)} {sportLabel(activity.sport)} {#if activity.sub_sport && activity.sub_sport !== 'generic'} {sportLabel(activity.sport, activity.sub_sport).split(' ')[0]} {/if} {formatDate(activity.started_at)} · {formatTime(activity.started_at)}{#if activity.handle} · @{activity.handle}{/if}

{displayTitle}

{#if editEnabled} {/if}
{#if descriptionHtml}
{@html descriptionHtml}
{/if}
{#if galleryImages.length}
{#each galleryImages as img, i} {/each}
{/if}
{#if trackUrl} {:else}
No GPS track
{/if}
{#each stats as s}

{s.value}

{s.label}

{/each} {#if detail?.gear}

{detail.gear}

Gear

{/if}
{#if error}

{error}

{:else if timeseries && timeseries.t.length > 0}
{:else if !detail || timeseriesLoading}
{/if} {#if detail?.laps?.length}
{#each detail.laps as lap} {/each}
Lap Distance Time Avg speed Avg HR
#{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` : '—'}
{/if}