Files
iptvnator/apps/web/src/app/xtream-tauri/xtream-main-container.component.html
T
4gray f95ac9c34e refactor: refactor existing vod-details component and implement VOD details route component
- Added `VodDetailsRouteComponent` to handle VOD details with route parameters.
- Refactored existing `VodDetailsComponent` to use a unified structure for Xtream and Stalker portals.
- Enhanced VOD details display with normalized metadata and improved playback position handling.
- Integrated resizable sidebar functionality in main container and live stream layout components.
- Updated routing to use the new VOD details route component.
- Improved favorite toggling and download handling in VOD details.
- Adjusted styles for responsive sidebar and grid layouts.
2026-01-30 20:39:18 +01:00

52 lines
1.5 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()?.name || currentPlaylist()?.title || 'Playlist'"
[subtitle]="'Xtream Code'"
/>
<button
mat-icon-button
class="manage-categories-btn"
(click)="openCategoryManagement()"
[matTooltip]="'XTREAM.CATEGORY_MANAGEMENT.TITLE' | translate"
>
<mat-icon>tune</mat-icon>
</button>
</div>
<app-category-view
[items]="categories()"
[selectedCategoryId]="selectedCategoryId()"
[itemCounts]="categoryItemCounts()"
(categoryClicked)="categoryClicked($event)"
[showCounts]="true"
/>
</div>
<div class="main-content">
@if (!xtreamStore.selectedItem() && !xtreamStore.isLoadingDetails()) {
<div class="content-header">
<h2>
<button mat-icon-button disabled>
<mat-icon>category</mat-icon>
</button>
{{ getContentLabel() }}
</h2>
</div>
}
<div
class="scrollable-content"
[class.no-header]="xtreamStore.selectedItem() || xtreamStore.isLoadingDetails()"
>
<router-outlet />
</div>
<!-- <app-mpv-player-bar /> -->
</div>