← Segments

New Segment

{#if !selectedActivity}

Pick an activity to crop the segment from.

{#if loadingActivities}

Loading activities…

{:else if filteredActivities.length === 0}

No GPS activities found{searchQuery ? ' matching your search' : ''}.

{:else}
{#each filteredActivities.slice(0, 100) as a (a.id)} {/each}
{#if filteredActivities.length > 100}

Showing first 100 results — refine your search to narrow down.

{/if} {#if pendingShards.length > 0} {/if} {/if} {:else}
{sportIcon(selectedActivity.sport as any)}

{selectedActivity.title ?? 'Untitled'}

{formatDate(selectedActivity.started_at)}

{#if loadingTrack}
Loading track…
{:else if trackError}
{trackError}
{:else}
{#if elevPaths.dim}
{#if elevPaths.selLine} {/if}
{Math.round(elevStats.max)}m {Math.round(elevStats.min)}m
{/if}

Drag the handles to set the segment start and end

Selected: {formatDistance(selectedDistance)} ({selectedPolyline.length} points) {#if selectedDistance < 500} — minimum 500 m {/if}

{#if justSaved}

✓ "{lastSavedName}" saved. Add another segment from this activity?

Done
{:else} {#if saveError}

{saveError}

{/if} {/if} {/if} {/if}