mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-13 12:36:15 -08:00
- Added new component for live stream layout with sidebar and content area. - Integrated playlist switcher and category view for better navigation. - Implemented channel list with loading indicators and favorite functionality. - Added EPG (Electronic Program Guide) support for channels with loading and pagination. - Enhanced styles for responsive design and improved user experience. - Updated routing to use the new live stream layout component. - Modified stalker store to handle EPG fetching and search functionality. - Introduced new actions in the StalkerPortalActions enum for EPG operations.
67 lines
1.7 KiB
HTML
67 lines
1.7 KiB
HTML
<div
|
|
class="sidebar"
|
|
appResizable
|
|
[minWidth]="250"
|
|
[maxWidth]="600"
|
|
[defaultWidth]="400"
|
|
storageKey="sidebar-width"
|
|
>
|
|
<div class="sidebar-header">
|
|
<app-playlist-switcher
|
|
class="switcher"
|
|
[currentTitle]="currentPlaylist()?.title || 'Portal'"
|
|
[subtitle]="'Stalker Portal'"
|
|
/>
|
|
</div>
|
|
@if (isCategoryLoading()) {
|
|
<ngx-skeleton-loader
|
|
count="20"
|
|
[theme]="{
|
|
width: '95%',
|
|
height: '48px',
|
|
borderRadius: '40px',
|
|
}"
|
|
/>
|
|
} @else if (isCategoryFailed()) {
|
|
<app-playlist-error-view
|
|
[title]="'PORTALS.ERROR_VIEW.UNKNOWN_ERROR.TITLE' | translate"
|
|
[description]="
|
|
'PORTALS.ERROR_VIEW.UNKNOWN_ERROR.DESCRIPTION' | translate
|
|
"
|
|
/>
|
|
} @else {
|
|
<app-category-view
|
|
[items]="categories()"
|
|
[selectedCategoryId]="$any(stalkerStore.selectedCategoryId())"
|
|
(categoryClicked)="categoryClicked($event)"
|
|
/>
|
|
}
|
|
</div>
|
|
|
|
<div class="main-content">
|
|
@if (!stalkerStore.selectedItem()) {
|
|
<div class="content-header">
|
|
<h2>
|
|
<button mat-icon-button disabled>
|
|
<mat-icon>category</mat-icon>
|
|
</button>
|
|
|
|
{{ getContentLabel() }}
|
|
|
|
@if (!contentItems() && !isContentLoading()) {
|
|
<h2>
|
|
{{ 'PORTALS.SELECT_CATEGORY' | translate }}
|
|
</h2>
|
|
}
|
|
</h2>
|
|
</div>
|
|
}
|
|
|
|
<div
|
|
class="scrollable-content"
|
|
[class.no-header]="stalkerStore.selectedItem()"
|
|
>
|
|
<router-outlet />
|
|
</div>
|
|
</div>
|