feat(live-tv): collapsible sidebar in live tv views

Entire-Checkpoint: f957cd9849e0
This commit is contained in:
4gray committed 2026-05-02 23:53:05 +02:00
1 parent 177148ad5d
commit 15b6ba985a
42 files changed
+541 -22

No files matched your search

@@ -53,6 +53,7 @@
"
(sidebarWidthRequested)="onSidebarWidthRequested($event)"
(sidebarWidthRequestEnded)="onSidebarWidthRequestEnded($event)"
(sidebarToggleRequested)="sidebarToggleRequested.emit()"
/>
}
@case ('favorites') {
@@ -136,6 +136,7 @@ export class ChannelListContainerComponent implements OnInit, OnDestroy {
readonly sidebarWidth = input<number | null>(null);
readonly sidebarWidthRequested = output<number>();
readonly sidebarWidthRequestEnded = output<number>();
readonly sidebarToggleRequested = output<void>();
readonly isWorkspaceLayout = isWorkspaceLayoutRoute(this.route);
private readonly routeSearchTerm = queryParamSignal(
this.route,
@@ -166,7 +166,7 @@
<section class="sidebar groups-content-panel">
@if (selectedGroup(); as group) {
<header class="sidebar-header groups-content-header">
<div class="category-meta">
<div class="category-meta category-meta--stacked">
<h2 class="category-title">
@if (group.key) {
{{ group.key | titlecase }}
@@ -187,6 +187,20 @@
>
<mat-icon>sort_by_alpha</mat-icon>
</button>
<button
mat-icon-button
type="button"
class="groups-sidebar-toggle"
[attr.aria-label]="
'LAYOUT.HIDE_CHANNELS_LIST' | translate
"
[matTooltip]="
'LAYOUT.TOGGLE_SIDEBAR_TOOLTIP' | translate
"
(click)="sidebarToggleRequested.emit()"
>
<mat-icon>chevron_left</mat-icon>
</button>
<mat-menu #channelSortMenu="matMenu">
<button
mat-menu-item
@@ -165,6 +165,12 @@
.category-meta {
@include panel.standard-panel-meta();
&--stacked {
flex-direction: column;
align-items: flex-start;
gap: 4px;
}
}
.category-title {
@@ -119,6 +119,9 @@ export class GroupsViewComponent {
readonly sidebarWidthRequestEnded = output<number>();
readonly hiddenGroupTitlesChanged = output<string[]>();
/** Emits when the user clicks the inline collapse toggle in the groups header */
readonly sidebarToggleRequested = output<void>();
readonly isGroupSearchOpen = signal(false);
readonly localGroupSearchTerm = signal('');
readonly selectedGroupKey = signal<string | null>(null);