From { datePre = 'all'; }} class="bg-transparent text-white text-sm focus:outline-none [color-scheme:dark]" />
To { datePre = 'all'; }} class="bg-transparent text-white text-sm focus:outline-none [color-scheme:dark]" />
{#if isOwner} {/if}
{#each sports as s} {/each} {#if all.length > 0} {#if totalActivities > withSearch.length} {withSearch.length} of {totalActivities} activities {:else} {withSearch.length} {withSearch.length === 1 ? 'activity' : 'activities'} {/if} {/if}
{#each [{ value: 'all', label: 'All time' }, { value: '7d', label: '7 days' }, { value: '30d', label: '30 days' }, { value: '6mo', label: '6 months' }, ...allYears.map(y => ({ value: y, label: y }))] as d} {@const isActive = datePre === d.value && !customFrom && !customTo} {/each}
{#if loading}
{#each Array(12) as _}
{/each}
{:else if error}

Could not load activities: {error}

{:else if viewMode === 'map'} {#if hasMore}
{/if} {:else if withSearch.length === 0}

{#if loadingAllShards}Loading…{:else if query.trim()}No activities match "{query.trim()}".{:else}No activities found.{/if}

{:else}
{#each visible as a (a.id)} {@const isSelected = selected.has(a.id)}
_toggleSelect(a.id) : undefined} >

{formatDate(a.started_at)}{#if a.handle} · @{a.handle}{/if}

{#if isUnlisted(a.privacy)} 🔒 {/if} {#if selectMode} {a.title} {:else} { try { sessionStorage.setItem(`bincio:activity:${a.id}`, JSON.stringify(filterHandle && !a.handle ? { ...a, handle: filterHandle } : a)); } catch {} }} >{a.title} {/if}

{#if selectMode}
{#if isSelected}{/if}
{:else} {sportIcon(a.sport)} {sportLabel(a.sport, a.sub_sport)} {/if}
{#if a.preview_coords} {/if}

{formatDistance(a.distance_m)}

Distance

{formatDuration(a.moving_time_s ?? a.duration_s)}

Moving time

{formatElevation(a.elevation_gain_m)}

Elevation

{#if a.avg_speed_kmh || a.avg_hr_bpm}
{#if a.avg_speed_kmh} ⚡ {isPaceSport(a.sport) ? formatPace(a.avg_speed_kmh) : formatSpeed(a.avg_speed_kmh)} {/if} {#if a.avg_hr_bpm} ♥ {a.avg_hr_bpm} bpm {/if} {#if a.avg_cadence_rpm} ↻ {a.avg_cadence_rpm} rpm {/if}
{/if}
{/each}
{#if hasMore}
{/if} {/if} {#if selectMode}
{selected.size} selected {#if bulkWorking} Working… {/if}
{/if}