diff --git a/libs/playlist/shared/ui/src/lib/playlist-switcher/playlist-switcher.component.ts b/libs/playlist/shared/ui/src/lib/playlist-switcher/playlist-switcher.component.ts index ab6a189c1..c20992659 100644 --- a/libs/playlist/shared/ui/src/lib/playlist-switcher/playlist-switcher.component.ts +++ b/libs/playlist/shared/ui/src/lib/playlist-switcher/playlist-switcher.component.ts @@ -1,5 +1,6 @@ import { DatePipe, DOCUMENT } from '@angular/common'; import { + ChangeDetectionStrategy, Component, computed, DestroyRef, @@ -53,6 +54,7 @@ const DEFAULT_PLAYLIST_TYPE_FILTERS: Record = { selector: 'app-playlist-switcher', templateUrl: './playlist-switcher.component.html', styleUrls: ['./playlist-switcher.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, imports: [ DatePipe, FormsModule, diff --git a/libs/playlist/shared/ui/src/lib/recent-playlists/recent-playlists.component.ts b/libs/playlist/shared/ui/src/lib/recent-playlists/recent-playlists.component.ts index 7a2761910..935809c8a 100644 --- a/libs/playlist/shared/ui/src/lib/recent-playlists/recent-playlists.component.ts +++ b/libs/playlist/shared/ui/src/lib/recent-playlists/recent-playlists.component.ts @@ -4,6 +4,7 @@ import { moveItemInArray, } from '@angular/cdk/drag-drop'; import { + ChangeDetectionStrategy, Component, effect, inject, @@ -62,6 +63,7 @@ type PlaylistBusyOperation = { selector: 'app-recent-playlists', templateUrl: './recent-playlists.component.html', styleUrls: ['./recent-playlists.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, imports: [ DragDropModule, EmptyStateComponent, diff --git a/libs/portal/catalog/feature/src/lib/category-content-view/category-content-view.component.ts b/libs/portal/catalog/feature/src/lib/category-content-view/category-content-view.component.ts index fb6acd7bb..0c3634a78 100644 --- a/libs/portal/catalog/feature/src/lib/category-content-view/category-content-view.component.ts +++ b/libs/portal/catalog/feature/src/lib/category-content-view/category-content-view.component.ts @@ -1,5 +1,6 @@ import { NgComponentOutlet } from '@angular/common'; import { + ChangeDetectionStrategy, Component, computed, DestroyRef, @@ -44,6 +45,7 @@ interface CategoryContentItem { selector: 'app-category-content-view', templateUrl: './category-content-view.component.html', styleUrls: ['./category-content-view.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, imports: [ GridListComponent, MatIcon, diff --git a/libs/portal/shared/ui/src/lib/components/grid-list/grid-list.component.ts b/libs/portal/shared/ui/src/lib/components/grid-list/grid-list.component.ts index 0b3642f2d..f8fadd1a6 100644 --- a/libs/portal/shared/ui/src/lib/components/grid-list/grid-list.component.ts +++ b/libs/portal/shared/ui/src/lib/components/grid-list/grid-list.component.ts @@ -1,4 +1,10 @@ -import { Component, computed, input, output } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + computed, + input, + output, +} from '@angular/core'; import { MatCardModule } from '@angular/material/card'; import { MatIcon } from '@angular/material/icon'; import { MatPaginatorModule, PageEvent } from '@angular/material/paginator'; @@ -177,6 +183,7 @@ export function resolveGridRating( ProgressCapsuleComponent, WatchedBadgeComponent, ], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class GridListComponent { readonly items = input(); diff --git a/libs/portal/stalker/feature/src/lib/stalker-search/stalker-search.component.ts b/libs/portal/stalker/feature/src/lib/stalker-search/stalker-search.component.ts index 15513d6e6..a3ec875f7 100644 --- a/libs/portal/stalker/feature/src/lib/stalker-search/stalker-search.component.ts +++ b/libs/portal/stalker/feature/src/lib/stalker-search/stalker-search.component.ts @@ -1,4 +1,5 @@ import { + ChangeDetectionStrategy, Component, computed, effect, @@ -71,6 +72,7 @@ interface StalkerSearchResponse { ], templateUrl: './stalker-search.component.html', styleUrl: './stalker-search.component.scss', + changeDetection: ChangeDetectionStrategy.OnPush, }) export class StalkerSearchComponent { private readonly activatedRoute = inject(ActivatedRoute); diff --git a/libs/portal/xtream/feature/src/lib/category-management-dialog/category-management-dialog.component.ts b/libs/portal/xtream/feature/src/lib/category-management-dialog/category-management-dialog.component.ts index 44e1cac81..d3faf66fc 100644 --- a/libs/portal/xtream/feature/src/lib/category-management-dialog/category-management-dialog.component.ts +++ b/libs/portal/xtream/feature/src/lib/category-management-dialog/category-management-dialog.component.ts @@ -1,4 +1,11 @@ -import { Component, computed, inject, OnInit, signal } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + computed, + inject, + OnInit, + signal, +} from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { @@ -35,6 +42,7 @@ interface CategoryWithSelection extends XCategoryFromDb { ], templateUrl: './category-management-dialog.component.html', styleUrl: './category-management-dialog.component.scss', + changeDetection: ChangeDetectionStrategy.OnPush, }) export class CategoryManagementDialogComponent implements OnInit { private readonly dbService = inject(DatabaseService); diff --git a/libs/portal/xtream/feature/src/lib/recently-added/recently-added.component.ts b/libs/portal/xtream/feature/src/lib/recently-added/recently-added.component.ts index d742b6666..9e9be6356 100644 --- a/libs/portal/xtream/feature/src/lib/recently-added/recently-added.component.ts +++ b/libs/portal/xtream/feature/src/lib/recently-added/recently-added.component.ts @@ -1,4 +1,4 @@ -import { Component, computed, inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core'; import { toSignal } from '@angular/core/rxjs-interop'; import { ActivatedRoute, Router } from '@angular/router'; import { TranslatePipe, TranslateService } from '@ngx-translate/core'; @@ -33,6 +33,7 @@ const SKELETON_CARDS_PER_RAIL = [1, 2, 3, 4, 5, 6] as const; selector: 'app-recently-added', templateUrl: './recently-added.component.html', styleUrls: ['./recently-added.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, imports: [ContentCardComponent, ContentRailShellComponent, TranslatePipe], }) export class RecentlyAddedComponent { diff --git a/libs/portal/xtream/feature/src/lib/search-results/search-results.component.ts b/libs/portal/xtream/feature/src/lib/search-results/search-results.component.ts index fc69e49c4..cefbf9560 100644 --- a/libs/portal/xtream/feature/src/lib/search-results/search-results.component.ts +++ b/libs/portal/xtream/feature/src/lib/search-results/search-results.component.ts @@ -1,6 +1,7 @@ import { KeyValuePipe } from '@angular/common'; import { AfterViewInit, + ChangeDetectionStrategy, Component, computed, effect, @@ -58,6 +59,7 @@ function groupResultsByPlaylistName( @Component({ selector: 'app-search-results', + changeDetection: ChangeDetectionStrategy.OnPush, imports: [ ContentCardComponent, FormsModule, diff --git a/libs/portal/xtream/feature/src/lib/vod-details/vod-details-route.component.ts b/libs/portal/xtream/feature/src/lib/vod-details/vod-details-route.component.ts index 3b2e97f16..ef8fb5a1e 100644 --- a/libs/portal/xtream/feature/src/lib/vod-details/vod-details-route.component.ts +++ b/libs/portal/xtream/feature/src/lib/vod-details/vod-details-route.component.ts @@ -1,5 +1,6 @@ import { Location, SlicePipe } from '@angular/common'; import { + ChangeDetectionStrategy, Component, OnDestroy, OnInit, @@ -44,6 +45,7 @@ import { '../../../../../../ui/components/src/lib/styles/detail-view.scss', './vod-details-route.component.scss', ], + changeDetection: ChangeDetectionStrategy.OnPush, imports: [ ContentHeroComponent, MatIcon, diff --git a/libs/ui/components/src/lib/season-container/season-container.component.ts b/libs/ui/components/src/lib/season-container/season-container.component.ts index 57eef87fa..475cc17a3 100644 --- a/libs/ui/components/src/lib/season-container/season-container.component.ts +++ b/libs/ui/components/src/lib/season-container/season-container.component.ts @@ -1,5 +1,6 @@ import { KeyValuePipe } from '@angular/common'; import { + ChangeDetectionStrategy, Component, DoCheck, OnInit, @@ -67,6 +68,7 @@ function parseDuration(duration: string | number | undefined): number { selector: 'app-season-container', templateUrl: './season-container.component.html', styleUrls: ['./season-container.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, imports: [ KeyValuePipe, MatButtonModule,