(ui.activeContext = "queue")} tabindex="0" >
{#if settings.artSong > 0}
{/if}
{t("title")}
{#if settings.enableArtist}
{t("artist")}
{/if} {#if settings.enableAlbum}
{t("album")}
{/if} {#if settings.enableQuality}
{t("quality")}
{/if} {#if settings.enableDuration}
{t("time")}
{/if} {#if settings.enableDisc}
{t("disc")}
{/if} {#if settings.enableTrackNum}
{t("track")}
{/if} {#if settings.enableQueueNum}
{t("queue")}
{/if} {#if settings.enableFavorites}
{/if} {#if settings.enableRatings}
{t("rating")}
{/if}
{#snippet children(track, index)}
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}
{#if menu} (menu = null)} items={[ { label: t("play"), action: () => goto(menu!.index) }, { label: t("play_next"), action: playNext }, { label: t("sort"), items: getSortItems(), }, { label: t("favorite"), action: () => starSelected(true) }, { label: t("unfavorite"), action: () => starSelected(false) }, { label: t("rating"), items: [ { label: "★★★★★", action: () => rateSelected(5) }, { label: "★★★★", action: () => rateSelected(4) }, { label: "★★★", action: () => rateSelected(3) }, { label: "★★", action: () => rateSelected(2) }, { label: "★", action: () => rateSelected(1) }, { label: t("none"), action: () => rateSelected(0) }, ], }, { label: t("move_up"), action: moveUp }, { label: t("move_down"), action: moveDown }, { label: t("clear"), action: remove, }, ]} /> {/if}