{#each tracks as track, i (track.id)}
{@const active = player.current.id === track.id}
oncontextmenu(event, track, i) : undefined}
>
{#if index}
{/if}
onPlay(i)}
onclick={(event) => event.stopPropagation()}
class="flex min-w-0 flex-1 text-left"
>
{#snippet overlay()}
{#if !index && active}
{/if}
{/snippet}
{#each columns as column (column)}
{#if column === 'plays'}
{Number(track.listensCount ?? 0)}
{:else if column === 'added' && track.addedAt}
{fmtDate(track.addedAt)}
{:else if column === 'uploaded' && track.uploadedAt}
{fmtDate(track.uploadedAt)}
{/if}
{/each}
{fmtTime(Number(track.duration))}
{#if rowAction}
{#if rowAction.action}
{:else}
rowAction.onclick?.(track)}
>
{/if}
{/if}