{#if picture} {:else} {/if}
{username}
{uploadLine}
{#if !online}
Sign in to Soulseek to ask their client for their card.
{:else if infoErr}
Their client did not answer ({infoErr}) — offline, firewalled, or not sharing a card.
{:else if !info}
Asking their client for the card — direct, peer to peer.
{:else}
{info.description?.trim() || "They wrote nothing about themselves."}
{#if info.picture_note}
{info.picture_note}
{/if} {/if}

Interests · what they declared on Soulseek

{#if likes.length || hates.length} {#if likes.length}
Likes
{#each likes as l, i (i)}{l}{/each}
{/if} {#if hates.length}
Hates
{#each hates as h, i (i)}{h}{/each}
{/if} {:else if intErr}
The server did not answer.
{:else if interests}
None declared.
{:else if online}
Asking the server…
{:else}
Sign in to Soulseek to see what they declared.
{/if}

Library overlap · compared on this phone

{#if overlap} {@const o = overlap}
{o.their_albums ? `${o.albums_in_common_count} of their ${o.their_albums} albums are in your library · ${o.artists_in_common_count} artist${o.artists_in_common_count === 1 ? "" : "s"} in common · compared ${ago(o.computed_at)}` : `No album folders among ${o.audio_files} audio files · compared ${ago(o.computed_at)}`}
{#if o.gaps.length}
They have {o.gaps_count} record{o.gaps_count === 1 ? "" : "s"} by artists in your library that you don't.{o.gaps.length > cap ? ` The first ${cap} are here.` : ""}
{#each o.gaps.slice(0, cap) as g, i (i)} {/each} {#if o.gaps.length > cap}
{/if} {:else}
Nothing they have that you lack.
{/if}
{:else}
Not compared yet.Their share folders against your albums, on this phone — nothing is uploaded to do it.
{/if}