{#if loading}

Loading visits...

{:else if !past.length}

{place.from ? "First transfer on this route." : `First time at ${place.name}.`}

{:else}

{#if usual} usual {money(usual.median)} {#if usual.every !== null} · {cadence(usual.every)} {/if} {#if said} · this one {said.text} {/if} {:else} {past.length === 1 ? "One visit" : `${past.length} visits`} before this one {/if}

{#if width} {#each visits as visit (visit.group)} {@const self = visit === current} (active = null)} onfocus={() => (active = visit)} onpointerenter={() => (active = visit)} onpointerleave={() => (active = null)} > {/each} {/if}

{formatDate(visits[0].date)} {formatDate(visits.at(-1)?.date)}

{#each recent as visit (visit.group)} (active = visit)} onpointerleave={() => (active = null)} > {/each}
{formatDate(visit.date, "short")} {visit.description} {money(visit.amount)}
{/if}