From 5ad74e44abc6e3375a6b18f6a740e55cea14ded1 Mon Sep 17 00:00:00 2001 From: 4gray Date: Sun, 11 Jan 2026 06:27:21 +0100 Subject: [PATCH] refactor: update imports and provide Xtream data --- apps/web/src/app/app.config.ts | 2 ++ .../category-content-view.component.ts | 2 +- .../app/xtream-tauri/favorites/favorites.component.ts | 2 +- .../live-stream-layout.component.ts | 2 +- .../xtream-tauri/navigation/navigation.component.ts | 2 +- .../portal-channels-list.component.ts | 2 +- .../recently-viewed/recently-viewed.component.ts | 2 +- .../search-results/search-results.component.ts | 11 +++++------ .../serial-details/serial-details.component.ts | 2 +- .../xtream-tauri/vod-details/vod-details.component.ts | 2 +- .../xtream-tauri/xtream-main-container.component.ts | 2 +- .../xtream-shell/xtream-shell.component.ts | 2 +- 12 files changed, 17 insertions(+), 16 deletions(-) diff --git a/apps/web/src/app/app.config.ts b/apps/web/src/app/app.config.ts index 42c2169f4..ecb0cce87 100644 --- a/apps/web/src/app/app.config.ts +++ b/apps/web/src/app/app.config.ts @@ -26,6 +26,7 @@ import { AppConfig } from '../environments/environment'; import { routes } from './app.routes'; import { ElectronService } from './services/electron.service'; import { PwaService } from './services/pwa.service'; +import { provideXtreamDataSource } from './xtream-tauri/data-sources'; // AoT requires an exported function for factories export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader { @@ -84,5 +85,6 @@ export const appConfig: ApplicationConfig = { useFactory: DataFactory, deps: [NgxIndexedDBService, HttpClient], }, + ...provideXtreamDataSource(), ], }; diff --git a/apps/web/src/app/xtream-tauri/category-content-view/category-content-view.component.ts b/apps/web/src/app/xtream-tauri/category-content-view/category-content-view.component.ts index fec71cee4..08ad52efb 100644 --- a/apps/web/src/app/xtream-tauri/category-content-view/category-content-view.component.ts +++ b/apps/web/src/app/xtream-tauri/category-content-view/category-content-view.component.ts @@ -8,7 +8,7 @@ import { StalkerSeriesViewComponent } from '../../stalker/stalker-series-view/st import { StalkerStore } from '../../stalker/stalker.store'; import { VodDetailsComponent } from '../../xtream/vod-details/vod-details.component'; import { PlaylistErrorViewComponent } from '../playlist-error-view/playlist-error-view.component'; -import { XtreamStore } from '../xtream.store'; +import { XtreamStore } from '../stores/xtream.store'; @Component({ selector: 'app-category-content-view', diff --git a/apps/web/src/app/xtream-tauri/favorites/favorites.component.ts b/apps/web/src/app/xtream-tauri/favorites/favorites.component.ts index b714f465a..5a3acd3f6 100644 --- a/apps/web/src/app/xtream-tauri/favorites/favorites.component.ts +++ b/apps/web/src/app/xtream-tauri/favorites/favorites.component.ts @@ -8,7 +8,7 @@ import { XtreamCategory } from 'shared-interfaces'; import { FavoritesLayoutComponent } from '../../shared/components/favorites-layout/favorites-layout.component'; import { FavoriteItem } from '../services/favorite-item.interface'; import { FavoritesService } from '../services/favorites.service'; -import { XtreamStore } from '../xtream.store'; +import { XtreamStore } from '../stores/xtream.store'; @Component({ selector: 'app-favorites', diff --git a/apps/web/src/app/xtream-tauri/live-stream-layout/live-stream-layout.component.ts b/apps/web/src/app/xtream-tauri/live-stream-layout/live-stream-layout.component.ts index dbbdbd99f..b8ff9855c 100644 --- a/apps/web/src/app/xtream-tauri/live-stream-layout/live-stream-layout.component.ts +++ b/apps/web/src/app/xtream-tauri/live-stream-layout/live-stream-layout.component.ts @@ -25,7 +25,7 @@ import { import { CategoryViewComponent } from '../category-view/category-view.component'; import { PortalChannelsListComponent } from '../portal-channels-list/portal-channels-list.component'; import { FavoritesService } from '../services/favorites.service'; -import { XtreamStore } from '../xtream.store'; +import { XtreamStore } from '../stores/xtream.store'; @Component({ selector: 'app-live-stream-layout', diff --git a/apps/web/src/app/xtream-tauri/navigation/navigation.component.ts b/apps/web/src/app/xtream-tauri/navigation/navigation.component.ts index 1ee633fae..c7bfa17ec 100644 --- a/apps/web/src/app/xtream-tauri/navigation/navigation.component.ts +++ b/apps/web/src/app/xtream-tauri/navigation/navigation.component.ts @@ -11,7 +11,7 @@ import { selectPlaylistById } from 'm3u-state'; import { Playlist } from 'shared-interfaces'; import { SettingsComponent } from '../../settings/settings.component'; import { AccountInfoComponent } from '../account-info/account-info.component'; -import { XtreamStore } from '../xtream.store'; +import { XtreamStore } from '../stores/xtream.store'; import { NavigationItem } from './navigation.interface'; @Component({ diff --git a/apps/web/src/app/xtream-tauri/portal-channels-list/portal-channels-list.component.ts b/apps/web/src/app/xtream-tauri/portal-channels-list/portal-channels-list.component.ts index bf64b76bd..2e3ac8e41 100644 --- a/apps/web/src/app/xtream-tauri/portal-channels-list/portal-channels-list.component.ts +++ b/apps/web/src/app/xtream-tauri/portal-channels-list/portal-channels-list.component.ts @@ -26,7 +26,7 @@ import { FilterPipe } from '@iptvnator/pipes'; import { TranslatePipe } from '@ngx-translate/core'; import { XtreamCategory, XtreamItem } from 'shared-interfaces'; import { FavoritesService } from '../services/favorites.service'; -import { XtreamStore } from '../xtream.store'; +import { XtreamStore } from '../stores/xtream.store'; interface EpgProgram { id: string; diff --git a/apps/web/src/app/xtream-tauri/recently-viewed/recently-viewed.component.ts b/apps/web/src/app/xtream-tauri/recently-viewed/recently-viewed.component.ts index a3816f24e..ebfb87daa 100644 --- a/apps/web/src/app/xtream-tauri/recently-viewed/recently-viewed.component.ts +++ b/apps/web/src/app/xtream-tauri/recently-viewed/recently-viewed.component.ts @@ -6,7 +6,7 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { MatIcon } from '@angular/material/icon'; import { ActivatedRoute, Router } from '@angular/router'; import groupBy from 'lodash/groupBy'; -import { XtreamStore } from '../xtream.store'; +import { XtreamStore } from '../stores/xtream.store'; @Component({ selector: 'app-recently-viewed', diff --git a/apps/web/src/app/xtream-tauri/search-results/search-results.component.ts b/apps/web/src/app/xtream-tauri/search-results/search-results.component.ts index b3da52c84..60198638c 100644 --- a/apps/web/src/app/xtream-tauri/search-results/search-results.component.ts +++ b/apps/web/src/app/xtream-tauri/search-results/search-results.component.ts @@ -25,10 +25,11 @@ import { ActivatedRoute, Router } from '@angular/router'; import { TranslatePipe } from '@ngx-translate/core'; import groupBy from 'lodash/groupBy'; import { DatabaseService } from 'services'; -import { XtreamItem } from 'shared-interfaces'; +import { XtreamContentItem } from '../data-sources/xtream-data-source.interface'; +import { ContentType } from '../xtream-state'; import { SearchFormComponent } from '../../shared/components/search-form/search-form.component'; import { SearchResultItemComponent } from '../../shared/components/search-result-item/search-result-item.component'; -import { XtreamStore } from '../xtream.store'; +import { XtreamStore } from '../stores/xtream.store'; interface SearchResultsData { isGlobalSearch: boolean; @@ -138,9 +139,7 @@ export class SearchResultsComponent implements AfterViewInit { } } - selectItem( - item: XtreamItem & { playlist_id?: string; playlist_name?: string } - ) { + selectItem(item: XtreamContentItem) { if (this.isGlobalSearch && item.playlist_id) { this.dialogRef?.close(); const type = item.type === 'movie' ? 'vod' : item.type; @@ -152,7 +151,7 @@ export class SearchResultsComponent implements AfterViewInit { item.xtream_id, ]); } else { - const type = item.type === 'movie' ? 'vod' : item.type; + const type = (item.type === 'movie' ? 'vod' : item.type) as ContentType; this.xtreamStore.resetSearchResults(); this.xtreamStore.setSelectedContentType(type); diff --git a/apps/web/src/app/xtream-tauri/serial-details/serial-details.component.ts b/apps/web/src/app/xtream-tauri/serial-details/serial-details.component.ts index f122a21e2..4bfa47423 100644 --- a/apps/web/src/app/xtream-tauri/serial-details/serial-details.component.ts +++ b/apps/web/src/app/xtream-tauri/serial-details/serial-details.component.ts @@ -6,7 +6,7 @@ import { TranslatePipe } from '@ngx-translate/core'; import { ContentHeroComponent } from 'components'; import { XtreamSerieEpisode } from 'shared-interfaces'; import { SeasonContainerComponent } from '../season-container/season-container.component'; -import { XtreamStore } from '../xtream.store'; +import { XtreamStore } from '../stores/xtream.store'; @Component({ selector: 'app-serial-details', diff --git a/apps/web/src/app/xtream-tauri/vod-details/vod-details.component.ts b/apps/web/src/app/xtream-tauri/vod-details/vod-details.component.ts index 0e02193bc..897dc6c28 100644 --- a/apps/web/src/app/xtream-tauri/vod-details/vod-details.component.ts +++ b/apps/web/src/app/xtream-tauri/vod-details/vod-details.component.ts @@ -7,7 +7,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { ContentHeroComponent } from 'components'; import { XtreamVodDetails } from 'shared-interfaces'; import { SettingsStore } from '../../services/settings-store.service'; -import { XtreamStore } from '../xtream.store'; +import { XtreamStore } from '../stores/xtream.store'; import { SafePipe } from './safe.pipe'; @Component({ diff --git a/apps/web/src/app/xtream-tauri/xtream-main-container.component.ts b/apps/web/src/app/xtream-tauri/xtream-main-container.component.ts index a3f4e78c1..197fee986 100644 --- a/apps/web/src/app/xtream-tauri/xtream-main-container.component.ts +++ b/apps/web/src/app/xtream-tauri/xtream-main-container.component.ts @@ -12,7 +12,7 @@ import { CategoryManagementDialogData, } from './category-management-dialog/category-management-dialog.component'; import { CategoryViewComponent } from './category-view/category-view.component'; -import { XtreamStore } from './xtream.store'; +import { XtreamStore } from './stores/xtream.store'; @Component({ selector: 'app-xtream-main-container', diff --git a/apps/web/src/app/xtream-tauri/xtream-shell/xtream-shell.component.ts b/apps/web/src/app/xtream-tauri/xtream-shell/xtream-shell.component.ts index 4a6f5f309..478904738 100644 --- a/apps/web/src/app/xtream-tauri/xtream-shell/xtream-shell.component.ts +++ b/apps/web/src/app/xtream-tauri/xtream-shell/xtream-shell.component.ts @@ -7,7 +7,7 @@ import { PlaylistActions } from 'm3u-state'; import { LoadingOverlayComponent } from '../loading-overlay/loading-overlay.component'; import { NavigationComponent } from '../navigation/navigation.component'; import { NavigationItem } from '../navigation/navigation.interface'; -import { XtreamStore } from '../xtream.store'; +import { XtreamStore } from '../stores/xtream.store'; @Component({ templateUrl: './xtream-shell.component.html',