Files
iptvnator/libs/ui/shared-portals/src/lib/epg-view/epg-view.component.html
T
4gray 698668f3e3 refactor: Enhance Stalker Live Stream Layout and EPG components
- Refactored StalkerLiveStreamLayoutComponent to improve channel selection and playback handling.
- Introduced new methods for building external playback headers and handling cross-origin streams.
- Updated EPG preview logic to use a more structured approach with EpgProgram type.
- Improved styling for channel list items, including hover effects and active states.
- Enhanced EPG view with a more responsive layout and improved item display.
- Updated video player components to ensure proper sizing and overflow handling.
- Added fallback handling for channel logos and improved action button visibility.
2026-03-05 23:34:17 +01:00

50 lines
1.6 KiB
HTML

<div class="epg-title">{{ 'EPG.TITLE' | translate }}</div>
<div class="epg-list">
@for (item of epgItems; track $index) {
<article class="epg-item" [class.current-program]="isCurrentProgram(item)">
<div class="epg-item__meta">
<div class="epg-item__time">
{{ item.start | date: 'HH:mm' }} -
{{ item.stop ?? item.end | date: 'HH:mm' }}
</div>
@if (isCurrentProgram(item)) {
<span class="epg-item__badge">Live</span>
}
<button
mat-icon-button
class="epg-item__info"
(click)="showDetails(item)"
>
<mat-icon>info</mat-icon>
</button>
</div>
<div class="epg-item__title">{{ item.title }}</div>
@if (item.description) {
<div class="epg-item__description">
{{ item.description }}
</div>
}
@if (isCurrentProgram(item)) {
<div class="epg-item__progress">
<div class="epg-progress-track">
<div
class="epg-progress-fill"
[style.width.%]="getProgress(item)"
></div>
</div>
</div>
}
</article>
}
@if (epgItems?.length === 0) {
<div class="epg-empty">
{{ 'EPG.EPG_NOT_AVAILABLE_CHANNEL_TITLE' | translate }}
</div>
}
</div>