diff options
-rw-r--r-- | web/script/player/mod.ts | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/web/script/player/mod.ts b/web/script/player/mod.ts index fd2dd5c..0dc5d2d 100644 --- a/web/script/player/mod.ts +++ b/web/script/player/mod.ts @@ -116,10 +116,12 @@ function initialize_player(el: HTMLElement, node_id: string) { ...(kind == "audio" ? volume() : []), - player.active_tracks.map(_ => - e("ul", { class: "jsp-track-list" }, ...(player.tracks ?? []) + player.active_tracks.map(_ => { + const tracks_avail = (player.tracks ?? []) .map((track, index) => ({ index, track })) - .filter(({ track }) => get_track_kind(track.kind) == kind) + .filter(({ track }) => get_track_kind(track.kind) == kind); + if (!tracks_avail.length) return e("p", `No ${kind} tracks available.`) as HTMLElement; + return e("ul", { class: "jsp-track-list" }, ...tracks_avail .map(({ track, index }): HTMLElement => { const active = player.active_tracks.value.find(ts => ts.track_index == index) !== undefined const onclick = () => { @@ -132,7 +134,8 @@ function initialize_player(el: HTMLElement, node_id: string) { e("span", { class: "jsp-track-lang" }, `(${track.language})`) ) }) - )) + ) + }) ) ) return button |