diff --git a/ext/src/ui/popup/ReceiverMedia.svelte b/ext/src/ui/popup/ReceiverMedia.svelte index efe981a..7db7061 100644 --- a/ext/src/ui/popup/ReceiverMedia.svelte +++ b/ext/src/ui/popup/ReceiverMedia.svelte @@ -31,6 +31,9 @@ status.playerState === PlayerState.PLAYING || status.playerState === PlayerState.PAUSED; + $: hasDuration = status.media?.duration && status.media?.duration > 0; + $: isLive = status.supportedMediaCommands & _MediaCommand.SEEK; + let mediaTitle: Optional; let mediaSubtitle: Optional; let mediaImage: Optional; @@ -152,8 +155,8 @@ let ret = ""; if (hours) ret += `${hours}:`; - ret += `${date.getUTCMinutes()}:`; - ret += `${date.getUTCSeconds()}`.padStart(2, "0"); + ret += `${date.getUTCMinutes().toString().padStart(2, "0")}:`; + ret += date.getUTCSeconds().toString().padStart(2, "0"); return ret; } @@ -174,7 +177,7 @@
- {#if status.media && status.media?.duration} + {#if status.media && status.media?.duration && hasDuration && isLive}
{#if status.media?.streamType === StreamType.LIVE} @@ -184,34 +187,22 @@ {formatTime(currentTime)} - {#if status.supportedMediaCommands & _MediaCommand.SEEK} - - dispatch("seek", { - position: ev.currentTarget.valueAsNumber - })} - /> - {:else} - - {/if} - {#if status.media.duration} - - -{formatTime(status.media?.duration - currentTime)} - - {/if} + + dispatch("seek", { + position: ev.currentTarget.valueAsNumber + })} + /> + + -{formatTime(status.media?.duration - currentTime)} +
{/if} @@ -305,16 +296,9 @@ {/if} - - {#if isPlayingOrPaused && !status.media?.duration} - {#if status.media?.streamType === StreamType.LIVE} - - {_("popupMediaLive")} - - {/if} - - {formatTime(currentTime)} + {#if !(status.supportedMediaCommands & _MediaCommand.SEEK) && isLive} + + {_("popupMediaLive")} {/if}