{#if selectedShow}
{#if selectedShow.poster}
{:else}
{/if}
{selectedShow.title}
{#if selectedShow.year}
{selectedShow.year}
{/if} {#if selectedShow.status}
• {selectedShow.status}
{/if} {#if selectedSeason}
• {selectedSeason.name || `Season ${selectedSeason.seasonNumber}`}
{/if}
{#if selectedShow.genres?.length}
{selectedShow.genres.join(" • ")}
{/if}
{selectedShow.overview || "No synopsis found."}
{#if selectedRuntime || selectedVideoInfo || selectedAudioInfo || selectedAirDate}
{#if selectedRuntime}
{selectedRuntime}
{/if} {#if selectedAirDate}
{selectedAirDate}
{/if} {#if selectedVideoInfo}
{selectedVideoInfo}
{/if} {#if selectedAudioInfo}
{selectedAudioInfo}
{/if}
{/if}
{#if selectedShow.seasons?.length}
{#each selectedShow.seasons as season}
selectSeasonNumber(season.seasonNumber)} on:keydown={(event) => handleSeasonButtonKey(event, season.seasonNumber)} role="tab" aria-selected={selectedSeason?.seasonNumber === season.seasonNumber} >
{season.name || `Season ${season.seasonNumber}`}
{#if season.episodeCount}
{season.episodeCount} eps
{/if}
{/each}
{/if}
{#if selectedSeason?.episodes?.length} {#each selectedSeason.episodes as episode}
playEpisodeFromCard(episode)} >
{#if episode.still}
{:else}
{/if}
{formatEpisodeCode(episode)} · {episode.title || "Untitled"}
{#if episodeRuntime(episode)}
{episodeRuntime(episode)}
{/if} {#if formatAirDate(episode.aired)}
{formatAirDate(episode.aired)}
{/if} {#if formatVideoInfo(episode.mediaInfo?.video)}
{formatVideoInfo(episode.mediaInfo.video)}
{/if} {#if formatAudioInfo(episode.mediaInfo?.audio)}
{formatAudioInfo(episode.mediaInfo.audio)}
{/if}
{episode.overview || "No overview available."}
{/each} {:else}
No episodes found for this season.
{/if}
{/if} {#if showPlayerModal && selectedVideo}
✕
{selectedLabel}
{formatSize(selectedVideo.size || 0)}
{#key encName}
{ console.log("Video metadata loaded"); isPlaying = false; currentTime = 0; updateDuration(); const slider = document.querySelector(".volume-slider"); if (slider) { slider.value = volume; slider.style.setProperty("--fill", slider.value * 100); } try { await videoEl.play(); isPlaying = true; } catch (err) { console.warn("Autoplay engellendi:", err?.message || err); isPlaying = false; } }} on:loadeddata={() => { console.log("Video data loaded"); }} on:canplay={() => { console.log("Video can play"); }} on:error={(e) => { console.error("Video error:", e); }} on:ended={() => (isPlaying = false)} on:loadstart={() => { console.log("Video load start"); }} on:canplaythrough={() => { console.log("Video can play through"); }} on:stalled={() => { console.log("Video stalled"); }} on:suspend={() => { console.log("Video suspended"); }} on:abort={() => { console.log("Video aborted"); }} on:emptied={() => { console.log("Video emptied"); }} on:waiting={() => { console.log("Video waiting"); }} > {#if subtitleURL}
{/if}
{/key}
{#if isPlaying}
{:else}
{/if}
{formatTime(currentTime)} / {formatTime(duration)}
{/if}