diff --git a/static/player/main.ts b/static/player/main.ts index 7d5c2f8..09a161a 100644 --- a/static/player/main.ts +++ b/static/player/main.ts @@ -140,6 +140,20 @@ const initPlayer = async (): Promise => { updateAutoSkipButton(); showControls(); + const playbackError = container.dataset.playbackError?.trim() ?? ""; + const hasPlayableSource = Object.values(state.playback.modeSources).some((source) => + Boolean(source?.token), + ); + if (!hasPlayableSource) { + if (playbackError) { + window.showToast?.({ + message: "Playback is unavailable for this episode.", + variant: "destructive", + }); + } + return; + } + await ensurePreferredModeSource(signal); // build video src from mode, token, and saved quality preference