diff --git a/libs/ui/components/src/lib/channel-list-container/all-channels-view/all-channels-view.component.html b/libs/ui/components/src/lib/channel-list-container/all-channels-view/all-channels-view.component.html
index 0943a4947..fd51e610e 100644
--- a/libs/ui/components/src/lib/channel-list-container/all-channels-view/all-channels-view.component.html
+++ b/libs/ui/components/src/lib/channel-list-container/all-channels-view/all-channels-view.component.html
@@ -28,6 +28,7 @@
"
[logo]="channel?.tvg?.logo"
[showEpg]="shouldShowEpg()"
+ [isRadio]="channel?.radio === 'true'"
[epgProgram]="channel.epgProgram"
[progressPercentage]="channel.progressPercentage"
(clicked)="onChannelClick(channel)"
diff --git a/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.html b/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.html
index 8b4a7a6c3..53eab90b4 100644
--- a/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.html
+++ b/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.html
@@ -48,7 +48,7 @@
formatTime(program.stop, program.stopTimestamp)
}}
- } @else {
+ } @else if (!isRadio()) {
{{ 'EPG.NO_PROGRAM_INFO' | translate }}
diff --git a/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.spec.ts b/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.spec.ts
index 887f87e81..dd2146e43 100644
--- a/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.spec.ts
+++ b/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.spec.ts
@@ -69,4 +69,15 @@ describe('ChannelListItemComponent', () => {
}),
]);
});
+
+ it('hides the no-program placeholder for radio items without EPG data', () => {
+ fixture.componentRef.setInput('name', 'Radio One');
+ fixture.componentRef.setInput('showEpg', true);
+ fixture.componentRef.setInput('isRadio', true);
+ fixture.detectChanges();
+
+ expect(
+ fixture.nativeElement.querySelector('.epg-placeholder')
+ ).toBeNull();
+ });
});
diff --git a/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.ts b/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.ts
index 8aee139d0..992c6f2ca 100644
--- a/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.ts
+++ b/libs/ui/components/src/lib/channel-list-container/channel-list-item/channel-list-item.component.ts
@@ -44,6 +44,7 @@ export class ChannelListItemComponent {
readonly isFavorite = input(false);
readonly selected = input(false);
readonly showEpg = input(true);
+ readonly isRadio = input(false);
readonly epgProgram = input();
/** Progress percentage pre-computed by parent for performance */
readonly progressPercentage = input(0);
diff --git a/libs/ui/components/src/lib/channel-list-container/favorites-view/favorites-view.component.html b/libs/ui/components/src/lib/channel-list-container/favorites-view/favorites-view.component.html
index d5e2c12d9..be223b8fd 100644
--- a/libs/ui/components/src/lib/channel-list-container/favorites-view/favorites-view.component.html
+++ b/libs/ui/components/src/lib/channel-list-container/favorites-view/favorites-view.component.html
@@ -21,6 +21,7 @@
[isDraggable]="!hasSearchTerm()"
[logo]="channel?.tvg?.logo"
[showEpg]="shouldShowEpg()"
+ [isRadio]="channel?.radio === 'true'"
[epgProgram]="channel.epgProgram"
[progressPercentage]="channel.progressPercentage"
(clicked)="onChannelClick(channel)"
diff --git a/libs/ui/components/src/lib/channel-list-container/groups-view/groups-view.component.html b/libs/ui/components/src/lib/channel-list-container/groups-view/groups-view.component.html
index 407ab6faa..47e659daf 100644
--- a/libs/ui/components/src/lib/channel-list-container/groups-view/groups-view.component.html
+++ b/libs/ui/components/src/lib/channel-list-container/groups-view/groups-view.component.html
@@ -108,6 +108,7 @@
"
[logo]="channel?.tvg?.logo"
[showEpg]="shouldShowEpg()"
+ [isRadio]="channel?.radio === 'true'"
[epgProgram]="channel.epgProgram"
[progressPercentage]="channel.progressPercentage"
[selected]="activeChannelUrl() === channel?.url"
diff --git a/libs/ui/components/src/lib/channel-list-container/recent-view/recent-view.component.html b/libs/ui/components/src/lib/channel-list-container/recent-view/recent-view.component.html
index 2c1464baa..d8963f402 100644
--- a/libs/ui/components/src/lib/channel-list-container/recent-view/recent-view.component.html
+++ b/libs/ui/components/src/lib/channel-list-container/recent-view/recent-view.component.html
@@ -14,6 +14,7 @@
"
[logo]="item.channel?.tvg?.logo"
[showEpg]="shouldShowEpg()"
+ [isRadio]="item.channel?.radio === 'true'"
[epgProgram]="item.epgProgram"
[progressPercentage]="item.progressPercentage"
[selected]="activeChannelUrl() === item.channel?.url"