diff --git a/.gitignore b/.gitignore index 27f1d2e78..112be1b34 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ data.db preload.js shared/*.js playwright-report +.nx # dependencies /node_modules diff --git a/src/app/stalker/stalker-main-container.component.html b/src/app/stalker/stalker-main-container.component.html index 62530d445..bc0a0aa78 100644 --- a/src/app/stalker/stalker-main-container.component.html +++ b/src/app/stalker/stalker-main-container.component.html @@ -13,36 +13,46 @@ (favoritesClicked)="favoritesClicked()" /> - - - - - - - - - +@switch (currentLayout) { + @case ('category') { + + } + @case ('category_content') { + + + } + @case ('vod-details') { + + } + @case ('favorites') { + + } + @case ('not-available') { + + } +} diff --git a/src/app/stalker/stalker-main-container.component.ts b/src/app/stalker/stalker-main-container.component.ts index 81aa918d4..cd80c55bf 100644 --- a/src/app/stalker/stalker-main-container.component.ts +++ b/src/app/stalker/stalker-main-container.component.ts @@ -6,6 +6,7 @@ import { MatPaginatorModule, PageEvent } from '@angular/material/paginator'; import { MatSnackBar } from '@angular/material/snack-bar'; import { Store } from '@ngrx/store'; import { StorageMap } from '@ngx-pwa/local-storage'; +import { TranslateModule } from '@ngx-translate/core'; import { Observable } from 'rxjs'; import { IpcCommand } from '../../../shared/ipc-command.class'; import { @@ -29,6 +30,7 @@ import { ContentTypeNavigationItem } from '../xtream/content-type-navigation-ite import { ContentType } from '../xtream/content-type.enum'; import { NavigationBarComponent } from '../xtream/navigation-bar/navigation-bar.component'; import { PlayerDialogComponent } from '../xtream/player-dialog/player-dialog.component'; +import { PlaylistErrorViewComponent } from '../xtream/playlist-error-view/playlist-error-view.component'; import { PortalStore } from '../xtream/portal.store'; import { VodDetailsComponent } from '../xtream/vod-details/vod-details.component'; import { StalkerContentTypes } from './stalker-content-types'; @@ -44,6 +46,8 @@ import { StalkerContentTypes } from './stalker-content-types'; NavigationBarComponent, NgIf, MatPaginatorModule, + PlaylistErrorViewComponent, + TranslateModule, VodDetailsComponent, ], }) @@ -53,7 +57,12 @@ export class StalkerMainContainerComponent implements OnInit { listeners = []; isLoading = true; selectedContentType: ContentType = ContentType.VODS; - currentLayout = 'category'; + currentLayout: + | 'category' + | 'category_content' + | 'favorites' + | 'vod-details' + | 'not-available' = 'category'; searchPhrase = this.portalStore.searchPhrase(); settings = toSignal( this.storage.get(STORE_KEY.Settings) @@ -97,8 +106,12 @@ export class StalkerMainContainerComponent implements OnInit { new IpcCommand(STALKER_RESPONSE, (response: any) => this.handleResponse(response) ), - new IpcCommand(ERROR, (response: { message: string; status: number }) => - this.showErrorAsNotification(response) + new IpcCommand( + ERROR, + (response: { message: string; status: number }) => { + this.currentLayout = 'not-available'; + this.showErrorAsNotification(response); + } ), ];