onDragStart(e, index)}
ondragover={(e) => onDragOver(e, index)}
ondrop={onDrop}
ondragend={() => (drag = null)}
onclick={(e) => {
e.stopPropagation();
select(index, e.ctrlKey || e.metaKey, e.shiftKey);
}}
ondblclick={() => {
goto(index);
clearSel();
}}
oncontextmenu={(e) => {
e.preventDefault();
if (!queue.sel.includes(index)) select(index);
menu = { x: e.clientX, y: e.clientY, index };
}}
>
{#if settings.artSong > 0}
{@const artId = track.albumId || track.coverArt || track.id}
{/if}
{track.title}
{#if settings.enableArtist}
{track.artist}
{/if}
{#if settings.enableAlbum}
{track.album}
{/if}
{#if settings.enableQuality}
{track.suffix || ""}{#if track.suffix && track.bitRate}
{" "}{/if}{track.bitRate || ""}
{/if}
{#if settings.enableDuration}
{formatTime(track.duration)}
{/if}
{#if settings.enableDisc}
{track.discNumber || ""}
{/if}
{#if settings.enableTrackNum}
{track.track || ""}
{/if}
{#if settings.enableQueueNum}
{index + 1}
{/if}
{#if settings.enableFavorites}
{/if}
{#if settings.enableRatings}
{#each [1, 2, 3, 4, 5] as rating}
{/each}
{/if}
{/snippet}