@using Yavsc.Abstract.Streaming @model Yavsc.ViewModels.Podcast.PodcastCatalogueViewModel @{ ViewBag.Title = Localizer["Podcasts"]; }

@Localizer["Podcasts"]

@Localizer["Retrouvez les directs et les replays de la communauté Yavsc."]

@Localizer["Lecture réservée aux utilisateurs connectés. Les flux sont fournis par Yavsc.Api."]

@Localizer["Actualiser"] @Localizer["Configurer mes dons PayPal"]
@if (Model.Error != null) { } else if (Model.Podcasts.Count == 0) {
@Localizer["Aucun podcast n'est disponible pour le moment."]
} else {
@foreach (var podcast in Model.Podcasts) { var ready = podcast.State == PodcastState.Completed && podcast.Replay?.State == PodcastReplayState.Ready; var stateLabel = podcast.State switch { PodcastState.Live => Localizer["En direct"], PodcastState.Completed => Localizer["Replay"], _ => Localizer["Direct interrompu"] };

@podcast.Title

@stateLabel

@podcast.OwnerName ·

@Localizer["Durée : {0} s", podcast.DurationSeconds.ToString("0.##")]

@if (podcast.SegmentCount > 0) { @if (!ready) { } @if (!ready && podcast.State == PodcastState.Completed) {

@(podcast.Replay?.State == PodcastReplayState.Failed ? Localizer["La préparation du replay MP4 a échoué. L'auteur peut la relancer depuis PostIt."] : Localizer["Le replay MP4 est en préparation. La lecture HLS reste disponible."])

} } else {

@Localizer["Aucun segment n'est encore disponible. Actualisez la page pour suivre ce podcast."]

}
}
} @section scripts { }