@let playableItem = playableVodItem(); @if (playableItem || isDownloaded()) { @if (hasPlaybackPosition()) { @if (externalPrimaryButtonState() === 'idle' && !isDownloaded()) { } } @else { } @if (playableItem) { @let favoriteLabel = (isFavorite() ? 'PORTALS.REMOVE_FROM_FAVORITES' : 'PORTALS.ADD_TO_FAVORITES' ) | translate; @let watchedLabel = (isWatched() ? 'XTREAM.MARK_UNWATCHED' : 'XTREAM.MARK_WATCHED') | translate; @if (isElectron() && !providerOnly()) { @if (isDownloaded()) { @if (externalPrimaryButtonState() === 'idle') { } } @else if (isDownloading()) { @let downloadLabel = isPausedDownload() ? ('DOWNLOADS.RESUME' | translate) : downloadPercent() !== null ? ('DOWNLOADS.DOWNLOADING_PERCENT' | translate: { percent: downloadPercent() }) : ('DOWNLOADS.STATUS.DOWNLOADING' | translate); } @else { } } @if (multiSource.hasAlternatives()) { } @if (activeSourceCaption(); as caption) {

{{ 'PORTALS.MULTI_SOURCE.PLAYING_FROM' | translate }} {{ caption.source }} @if (multiSource.hasAlternatives()) { @if (caption.alternativeCount === 1) { {{ 'PORTALS.MULTI_SOURCE.ALSO_FOUND_IN_ONE' | translate }} } @else { {{ 'PORTALS.MULTI_SOURCE.ALSO_FOUND_IN_OTHER' | translate : { count: caption.alternativeCount, } }} } }

} } }
@if (playableVodItem()) { @if (inlinePlayback(); as playback) { } } @let item = selectedItem(); @if (selectedVodInfo(); as info) { @if (info.releasedate) { @if (discover.canOpenYear(info.releasedate)) { } @else { {{ discover.yearLabel(info.releasedate) ?? (info.releasedate | slice: 0 : 4) }} } } @if (info.tmdb_genres?.length) { @for (genre of info.tmdb_genres; track genre.id) { } } @else if (info.genre) { {{ info.genre }} } @if (info.duration) { {{ info.duration }} } @if (info.rating_imdb) { ⭐ {{ info.rating_imdb }} } @if (info.tmdb_countries?.length) { @for (country of info.tmdb_countries; track country.code) { } } @else if (info.country) { {{ info.country }} } @if (isDownloaded()) { {{ 'DOWNLOADS.OFFLINE' | translate }} } @if (info.actors || info.cast || info.tmdb_cast?.length) {
{{ 'XTREAM.ACTORS' | translate }} @if (info.tmdb_cast?.length) {
@for ( member of info.tmdb_cast; track member.tmdbPersonId ? 'p' + member.tmdbPersonId : 'i' + $index ) { @if (member.profileUrl) { } @else { {{ member.name.charAt(0) }} } {{ member.name }} }
} @else { {{ info.actors || info.cast }} }
} @if (info.director || info.tmdb_directors?.length) {
{{ 'XTREAM.DIRECTOR' | translate }} @if (info.tmdb_directors?.length) {
@for ( member of info.tmdb_directors; track member.tmdbPersonId ? 'p' + member.tmdbPersonId : 'i' + $index ) { @if (member.profileUrl) { } @else { {{ member.name.charAt(0) }} } {{ member.name }} }
} @else { {{ info.director }} }
} @if (info.rating_kinopoisk) {
{{ 'XTREAM.KINOPOISK_RATING' | translate }} {{ info.rating_kinopoisk }}
}
@if (trailerEmbedUrl(); as trailerUrl) {

{{ 'XTREAM.YOUTUBE_TRAILER' | translate }}

} @if (similarItems().length || similarInPortals().length) {

{{ 'XTREAM.SIMILAR' | translate }}

@for (item of similarItems(); track item.id) { } @for ( item of similarInPortals(); track 'x' + item.match.playlistId + '-' + item.match.xtreamId ) { }
}
} @else if (fallbackView(); as fallback) { {{ 'XTREAM.DETAIL_FALLBACK.STATUS' | translate }} @if (fallback.year) { {{ fallback.year }} } @if (fallback.rating) { ⭐ {{ fallback.rating }} } @if (fallback.added) { {{ fallback.added }} } @if (fallback.format) { {{ fallback.format }} } @if (isDownloaded()) { {{ 'DOWNLOADS.OFFLINE' | translate }} }
{{ 'XTREAM.DETAIL_FALLBACK.NOTE' | translate }}
@for (fact of fallback.facts; track fact.labelKey) {
{{ fact.labelKey | translate }} {{ fact.value }}
}
} @else if (detailsError()) { } @else { }