@let state = renderState();
@if (collapsed()) { @if (loading()) { {{ 'EPG.LOADING' | translate }} } @else if (hasSummary()) { @if (isLivePlayback()) { {{ 'EPG.TIMELINE.ON_NOW' | translate }} {{ summary()?.title }} @if (progress() !== null) { } @if (minutesLeft() !== null) { {{ minutesLeft() }} {{ 'EPG.TIMELINE.MINUTES_LEFT' | translate }} } } @else { play_arrow {{ 'EPG.ARCHIVE_PLAYBACK' | translate }} {{ summary()?.title }} @if (hasTimeRange()) { {{ summaryStartMs() | date: 'HH:mm' }} – {{ summaryStopMs() | date: 'HH:mm' }} } } } @else { {{ 'EPG.NO_PROGRAM_INFO' | translate }} } } @else { @if (!isLivePlayback()) { } @if (guideAvailable()) { } @if (showJump()) { } @if (showDateStepper()) {
@if (isViewToday()) { {{ 'EPG.TIMELINE.TODAY' | translate }} } @else { {{ viewDate() | date: 'EEE' : '' : currentLocale() }} } {{ viewDate() | date: 'EEE, d MMM' : '' : currentLocale() }}
} }
@if (!collapsed()) { @if (state === 'list' && !archivePlaybackAvailable()) {
info {{ 'EPG.TIMELINE.SCHEDULE_ONLY_NOTICE' | translate }}
} @switch (state) { @case ('loading') {
@for (row of skeletonRows; track $index) {
}
} @case ('list') {
@if (nowStripVisible() && nowRow(); as now) { }
@for (row of rows(); track row.key) { }
} @default { } } }