Files
iptvnator/apps/web/src/app/stalker/stalker-main-container.component.html
T
4gray 24581a2131 feat: refactor Stalker layout to support workspace mode
- Updated the StalkerLiveStreamLayout component to conditionally render the sidebar based on the workspace layout.
- Enhanced the sidebar styling to use theme variables for consistency.
- Modified the StalkerMainContainer and StalkerShell components to accommodate workspace layout changes.
- Improved the search component to hide the search input in workspace mode.
- Adjusted the player feature to handle content types more effectively.
- Refactored selection feature to streamline category and item management.
- Ensured all components utilize the new layout structure and styling conventions.
2026-02-24 19:14:24 +01:00

75 lines
2.1 KiB
HTML

@if (!isWorkspaceLayout) {
<div
class="sidebar"
appResizable
[minWidth]="250"
[maxWidth]="600"
[defaultWidth]="400"
storageKey="sidebar-width"
>
@if (!isWorkspaceLayout) {
<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 (!isWorkspaceLayout && !stalkerStore.selectedItem()) {
<div class="content-header">
<h2>
<button mat-icon-button disabled>
<mat-icon>category</mat-icon>
</button>
{{ getContentLabel() }}
@if (
!contentItems() &&
!isContentLoading() &&
!stalkerStore.selectedCategoryId()
) {
<h2>
{{ 'PORTALS.SELECT_CATEGORY' | translate }}
</h2>
}
</h2>
</div>
}
<div
class="scrollable-content"
[class.no-header]="isWorkspaceLayout || stalkerStore.selectedItem()"
>
<router-outlet />
</div>
</div>