From abf0ddf74a9ad5f10951732b2aec160ed942a46c Mon Sep 17 00:00:00 2001
From: Florian Dupret <34862846+sephrat@users.noreply.github.com>
Date: Tue, 19 Oct 2021 13:49:27 +0200
Subject: [PATCH] Refactor status translation into a dedicated pipe
---
.../movie-information-panel.component.html | 2 +-
.../movie-information-panel.component.ts | 14 +-------------
.../tv-information-panel.component.html | 2 +-
.../tv-information-panel.component.ts | 14 +-------------
.../src/app/pipes/TranslateStatus.ts | 19 +++++++++++++++++++
.../ClientApp/src/app/pipes/pipe.module.ts | 5 +++--
.../movies-grid/movies-grid.component.html | 2 +-
.../components/tv-grid/tv-grid.component.html | 2 +-
8 files changed, 28 insertions(+), 32 deletions(-)
create mode 100644 src/Ombi/ClientApp/src/app/pipes/TranslateStatus.ts
diff --git a/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.html b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.html
index 480e19ddd..50070e47e 100644
--- a/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.html
+++ b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.html
@@ -27,7 +27,7 @@
{{'MediaDetails.Availability' | translate }}
diff --git a/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.ts
index 174f692de..c11a0f61c 100644
--- a/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.ts
+++ b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-information-panel.component.ts
@@ -1,5 +1,4 @@
import { Component, ViewEncapsulation, Input, OnInit, Inject } from "@angular/core";
-import { TranslateService } from "@ngx-translate/core";
import { ISearchMovieResultV2 } from "../../../../interfaces/ISearchMovieResultV2";
import { IMovieRequests } from "../../../../interfaces";
import { SearchV2Service } from "../../../../services/searchV2.service";
@@ -14,8 +13,7 @@ import { IStreamingData } from "../../../../interfaces/IStreams";
})
export class MovieInformationPanelComponent implements OnInit {
- constructor(private searchService: SearchV2Service, @Inject(APP_BASE_HREF) public internalBaseUrl: string,
- private translate: TranslateService) { }
+ constructor(private searchService: SearchV2Service, @Inject(APP_BASE_HREF) public internalBaseUrl: string) { }
@Input() public movie: ISearchMovieResultV2;
@Input() public request: IMovieRequests;
@@ -35,14 +33,4 @@ export class MovieInformationPanelComponent implements OnInit {
this.searchService.getMovieStreams(this.movie.id).subscribe(x => this.streams = x);
}
-
- public getMovieStatusLabel() {
- const textKey = 'MediaDetails.StatusValues.' + this.movie.status;
- const text = this.translate.instant(textKey);
- if (text !== textKey) {
- return text;
- } else {
- return this.movie.status;
- }
- }
}
diff --git a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel/tv-information-panel.component.html b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel/tv-information-panel.component.html
index ddf6fd44c..8fc23d39f 100644
--- a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel/tv-information-panel.component.html
+++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel/tv-information-panel.component.html
@@ -22,7 +22,7 @@
{{'MediaDetails.Status' | translate }}
- {{ getTVStatusLabel()}}
+ {{ this.tv.status | translateStatus }}
{{'MediaDetails.FirstAired' | translate }}
{{tv.firstAired | localizedDate: 'mediumDate'}}
diff --git a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel/tv-information-panel.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel/tv-information-panel.component.ts
index 46175847f..1ee844967 100644
--- a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel/tv-information-panel.component.ts
+++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-information-panel/tv-information-panel.component.ts
@@ -1,6 +1,5 @@
import { APP_BASE_HREF } from "@angular/common";
import { Component, ViewEncapsulation, Input, OnInit, Inject } from "@angular/core";
-import { TranslateService } from "@ngx-translate/core";
import { ITvRequests } from "../../../../../interfaces";
import { ITvRatings } from "../../../../../interfaces/IRatings";
import { ISearchTvResultV2 } from "../../../../../interfaces/ISearchTvResultV2";
@@ -15,8 +14,7 @@ import { SearchV2Service } from "../../../../../services";
})
export class TvInformationPanelComponent implements OnInit {
- constructor(private searchService: SearchV2Service, @Inject(APP_BASE_HREF) public internalBaseUrl: string,
- private translate: TranslateService) { }
+ constructor(private searchService: SearchV2Service, @Inject(APP_BASE_HREF) public internalBaseUrl: string) { }
@Input() public tv: ISearchTvResultV2;
@Input() public request: ITvRequests;
@@ -46,14 +44,4 @@ export class TvInformationPanelComponent implements OnInit {
public sortBy(prop: string) {
return this.streams.sort((a, b) => a[prop] > b[prop] ? 1 : a[prop] === b[prop] ? 0 : -1);
}
-
- public getTVStatusLabel() {
- const textKey = 'MediaDetails.StatusValues.' + this.tv.status;
- const text = this.translate.instant(textKey);
- if (text !== textKey) {
- return text;
- } else {
- return this.tv.status;
- }
- }
}
diff --git a/src/Ombi/ClientApp/src/app/pipes/TranslateStatus.ts b/src/Ombi/ClientApp/src/app/pipes/TranslateStatus.ts
new file mode 100644
index 000000000..1d7ebf1bd
--- /dev/null
+++ b/src/Ombi/ClientApp/src/app/pipes/TranslateStatus.ts
@@ -0,0 +1,19 @@
+import { Pipe, PipeTransform } from '@angular/core';
+import { TranslateService } from '@ngx-translate/core';
+
+@Pipe({
+ name: 'translateStatus'
+ })
+export class TranslateStatusPipe implements PipeTransform {
+ constructor(private translateService: TranslateService) {}
+
+ transform(value: string): string {
+ const textKey = 'MediaDetails.StatusValues.' + value;
+ const text = this.translateService.instant(textKey);
+ if (text !== textKey) {
+ return text;
+ } else {
+ return value;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Ombi/ClientApp/src/app/pipes/pipe.module.ts b/src/Ombi/ClientApp/src/app/pipes/pipe.module.ts
index f41924060..7a9520af8 100644
--- a/src/Ombi/ClientApp/src/app/pipes/pipe.module.ts
+++ b/src/Ombi/ClientApp/src/app/pipes/pipe.module.ts
@@ -1,6 +1,7 @@
import { ModuleWithProviders, NgModule } from "@angular/core";
import { HumanizePipe } from "./HumanizePipe";
import { LocalizedDatePipe } from "./LocalizedDate";
+import { TranslateStatusPipe } from "./TranslateStatus";
import { ThousandShortPipe } from "./ThousandShortPipe";
import { SafePipe } from "./SafePipe";
import { QualityPipe } from "./QualityPipe";
@@ -8,8 +9,8 @@ import { UserLocalePipe } from "./UserLocalePipe";
@NgModule({
imports: [],
- declarations: [HumanizePipe, ThousandShortPipe, SafePipe, QualityPipe, UserLocalePipe, LocalizedDatePipe ],
- exports: [HumanizePipe, ThousandShortPipe, SafePipe, QualityPipe, UserLocalePipe, LocalizedDatePipe ],
+ declarations: [HumanizePipe, ThousandShortPipe, SafePipe, QualityPipe, UserLocalePipe, LocalizedDatePipe, TranslateStatusPipe ],
+ exports: [HumanizePipe, ThousandShortPipe, SafePipe, QualityPipe, UserLocalePipe, LocalizedDatePipe, TranslateStatusPipe ],
})
export class PipeModule {
diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.html b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.html
index 0d397b778..0e6e31521 100644
--- a/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.html
+++ b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.html
@@ -63,7 +63,7 @@
{{ 'Requests.Status' | translate}} |
- {{element.status}} |
+ {{element.status |translateStatus }} |
diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.html b/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.html
index 4fda46b6c..8cb00d3bb 100644
--- a/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.html
+++ b/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.html
@@ -56,7 +56,7 @@
{{'Requests.Status' | translate}} |
- {{element.parentRequest.status}}
+ {{element.parentRequest.status | translateStatus }}
|