From 1de4af0907023a504380569d1a924e6743f98e23 Mon Sep 17 00:00:00 2001 From: tidusjar Date: Sat, 30 Jan 2021 00:13:41 +0000 Subject: [PATCH] Reworked the tv details page request section --- .../Entities/Requests/SeasonRequests.cs | 2 +- .../card/discover-card.component.html | 4 +- .../src/app/media-details/components/index.ts | 2 + .../tv-request-grid.component.html | 81 +++++++ .../tv-request-grid.component.scss | 44 ++++ .../tv-request-grid.component.ts | 215 ++++++++++++++++++ .../tv-requests-panel.component.html | 4 +- .../components/tv/tv-details.component.html | 11 +- .../episode-request.component.html | 18 +- .../episode-request.component.ts | 15 +- src/Ombi/wwwroot/translations/bg.json | 4 +- src/Ombi/wwwroot/translations/da.json | 4 +- src/Ombi/wwwroot/translations/de.json | 4 +- src/Ombi/wwwroot/translations/en.json | 4 +- src/Ombi/wwwroot/translations/es.json | 4 +- src/Ombi/wwwroot/translations/fr.json | 4 +- src/Ombi/wwwroot/translations/hu.json | 4 +- src/Ombi/wwwroot/translations/it.json | 4 +- src/Ombi/wwwroot/translations/nl.json | 4 +- src/Ombi/wwwroot/translations/no.json | 4 +- src/Ombi/wwwroot/translations/pl.json | 4 +- src/Ombi/wwwroot/translations/pt.json | 4 +- src/Ombi/wwwroot/translations/ru.json | 4 +- src/Ombi/wwwroot/translations/sk.json | 4 +- src/Ombi/wwwroot/translations/sv.json | 4 +- 25 files changed, 397 insertions(+), 59 deletions(-) create mode 100644 src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.html create mode 100644 src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.scss create mode 100644 src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.ts diff --git a/src/Ombi.Store/Entities/Requests/SeasonRequests.cs b/src/Ombi.Store/Entities/Requests/SeasonRequests.cs index b33634db1..8a69a4767 100644 --- a/src/Ombi.Store/Entities/Requests/SeasonRequests.cs +++ b/src/Ombi.Store/Entities/Requests/SeasonRequests.cs @@ -50,7 +50,7 @@ namespace Ombi.Store.Repository.Requests return "Common.ProcessingRequest"; } - if (!Approved && !Available) + if (!Approved && !Available && Requested) { return "Common.PendingApproval"; } diff --git a/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.html b/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.html index 4fefca11b..177d49e3e 100644 --- a/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.html +++ b/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.html @@ -9,12 +9,10 @@ {{getAvailbilityStatus()}} - {{result.title}} -
- +
{{result.title}}
{{result.overview}}
diff --git a/src/Ombi/ClientApp/src/app/media-details/components/index.ts b/src/Ombi/ClientApp/src/app/media-details/components/index.ts index 52892ade2..240fba28a 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/index.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/index.ts @@ -19,6 +19,7 @@ import { ArtistReleasePanel } from "./artist/panels/artist-release-panel/artist- import { IssuesPanelComponent } from "./shared/issues-panel/issues-panel.component"; import { TvAdvancedOptionsComponent } from "./tv/panels/tv-advanced-options/tv-advanced-options.component"; import { RequestBehalfComponent } from "./shared/request-behalf/request-behalf.component"; +import { TvRequestGridComponent } from "./tv/panels/tv-request-grid/tv-request-grid.component"; export const components: any[] = [ MovieDetailsComponent, @@ -40,6 +41,7 @@ export const components: any[] = [ ArtistReleasePanel, RequestBehalfComponent, IssuesPanelComponent, + TvRequestGridComponent, ]; export const entryComponents: any[] = [ diff --git a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.html b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.html new file mode 100644 index 000000000..91e4b2d8f --- /dev/null +++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.html @@ -0,0 +1,81 @@ + + + + + +
+ {{ 'Requests.Season' | translate }} {{season.seasonNumber}} +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + # {{element.episodeNumber}} {{ 'Requests.GridTitle' | translate }} {{element.title}} {{ 'Requests.AirDate' | translate }} {{element.airDate | amLocal | amDateFormat: 'L' }} {{ 'Requests.GridStatus' | translate }} +
+ {{ep.requestStatus | translate}} +
+
+
+ +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.scss b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.scss new file mode 100644 index 000000000..d96f849d8 --- /dev/null +++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.scss @@ -0,0 +1,44 @@ +.floating-fab { + position: fixed; + right: 3%; + bottom: 6%; + z-index: 10; +} + + +.top-right span:before{ + content: ''; + width: 10px; + height: 10px; + -moz-border-radius: 7.5px; + -webkit-border-radius: 7.5px; + border-radius: 7.5px; + margin-right:5px; + } + + .top-right.available span{ + display:block; + } + + .top-right.available span:before{ + display: inline-block; + background-color: #1DE9B6; + } + + .top-right.approved span { + display: block; + } + + .top-right.approved span:before{ + display: inline-block; + background-color: #ff5722; + } + + .top-right.requested span { + display: block; + } + + .top-right.requested span:before{ + display: inline-block; + background-color: #ffd740; + } \ No newline at end of file diff --git a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.ts new file mode 100644 index 000000000..b6b57f1dd --- /dev/null +++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-request-grid/tv-request-grid.component.ts @@ -0,0 +1,215 @@ +import { Component, Input } from "@angular/core"; +import { IChildRequests, IEpisodesRequests, INewSeasonRequests, ISeasonsViewModel, ITvRequestViewModel, RequestType } from "../../../../../interfaces"; +import { RequestService } from "../../../../../services/request.service"; +import { MessageService } from "../../../../../services"; +import { DenyDialogComponent } from "../../../shared/deny-dialog/deny-dialog.component"; +import { ISearchTvResultV2 } from "../../../../../interfaces/ISearchTvResultV2"; +import { MatDialog } from "@angular/material/dialog"; +import { SelectionModel } from "@angular/cdk/collections"; + +@Component({ + templateUrl: "./tv-request-grid.component.html", + styleUrls: ["./tv-request-grid.component.scss"], + selector: "tv-request-grid" +}) +export class TvRequestGridComponent { + @Input() public tv: ISearchTvResultV2; + @Input() public tvRequest: IChildRequests[]; + @Input() public isAdmin: boolean; + public selection = new SelectionModel(true, []); + + public get requestable() { + return this.tv?.seasonRequests?.length > 0 + } + + public displayedColumns: string[] = ['select', 'number', 'title', 'airDate', 'status']; + + constructor(private requestService: RequestService, private notificationService: MessageService, + private dialog: MatDialog) { + + } + + public async submitRequests() { + // Make sure something has been selected + const selected = this.selection.hasValue(); + if (!selected && !this.tv.requestAll && !this.tv.firstSeason && !this.tv.latestSeason) { + this.notificationService.send("You need to select some episodes!", "OK"); + return; + } + + this.tv.requested = true; + + const viewModel = { + firstSeason: this.tv.firstSeason, latestSeason: this.tv.latestSeason, requestAll: this.tv.requestAll, tvDbId: this.tv.id, + requestOnBehalf: null + }; + viewModel.seasons = []; + this.tv.seasonRequests.forEach((season) => { + const seasonsViewModel = { seasonNumber: season.seasonNumber, episodes: [] }; + if (!this.tv.latestSeason && !this.tv.requestAll && !this.tv.firstSeason) { + season.episodes.forEach(ep => { + if (this.selection.isSelected(ep)) { + ep.requested = true; + seasonsViewModel.episodes.push({ episodeNumber: ep.episodeNumber }); + } + }); + } + viewModel.seasons.push(seasonsViewModel); + }); + + const requestResult = await this.requestService.requestTv(viewModel).toPromise(); + + if (requestResult.result) { + this.notificationService.send( + `Request for ${this.tv.title} has been added successfully`); + + this.selection.clear(); + + } else { + this.notificationService.send(requestResult.errorMessage ? requestResult.errorMessage : requestResult.message); + } + } + + public async approve(request: IChildRequests) { + const result = await this.requestService.approveChild({ + id: request.id + }).toPromise(); + + if (result.result) { + request.approved = true; + request.denied = false; + request.seasonRequests.forEach((season) => { + season.episodes.forEach((ep) => { + ep.approved = true; + }); + }); + this.notificationService.send("Request has been approved", "Ok"); + } else { + this.notificationService.send(result.errorMessage, "Ok"); + } + } + + public changeAvailability(request: IChildRequests, available: boolean) { + request.available = available; + request.seasonRequests.forEach((season) => { + season.episodes.forEach((ep) => { + ep.available = available; + }); + }); + if (available) { + this.requestService.markTvAvailable({ id: request.id }).subscribe(x => { + if (x.result) { + this.notificationService.send( + `This request is now available`); + } else { + this.notificationService.send("Request Available", x.message ? x.message : x.errorMessage); + request.approved = false; + } + }); + } else { + this.requestService.markTvUnavailable({ id: request.id }).subscribe(x => { + if (x.result) { + this.notificationService.send( + `This request is now unavailable`); + } else { + this.notificationService.send("Request Available", x.message ? x.message : x.errorMessage); + request.approved = false; + } + }); + } + } + public async deny(request: IChildRequests) { + const dialogRef = this.dialog.open(DenyDialogComponent, { + width: '250px', + data: {requestId: request.id, requestType: RequestType.tvShow} + }); + + dialogRef.afterClosed().subscribe(result => { + request.denied = true; + request.seasonRequests.forEach((season) => { + season.episodes.forEach((ep) => { + ep.approved = false; + }); + }); + }); + } + + public async requestAllSeasons() { + this.tv.requestAll = true; + await this.submitRequests(); + } + + public async requestFirstSeason() { + this.tv.firstSeason = true; + await this.submitRequests(); + } + + public async requestLatestSeason() { + this.tv.latestSeason = true; + await this.submitRequests(); + } + + /** Whether the number of selected elements matches the total number of rows. */ + public isAllSelected(dataSource: IEpisodesRequests[]) { + const numSelected = this.selection.selected.length; + const numRows = dataSource.length; + return numSelected === numRows; + } + + /** Selects all rows if they are not all selected; otherwise clear selection. */ + public masterToggle(dataSource: IEpisodesRequests[]) { + this.isAllSelected(dataSource) ? + this.selection.clear() : + dataSource.forEach(row => { + if (!row.available && !row.requested && !row.approved) { + this.selection.select(row) + } + }); + } + + public isSeasonCheckable(season: INewSeasonRequests) { + const seasonAvailable = season.episodes.every((ep) => { + return ep.available || ep.requested || ep.approved; + }); + return !seasonAvailable; + } + + public getStatusClass(season: INewSeasonRequests): string { + const seasonAvailable = season.episodes.every((ep) => { + return ep.available; + }); + if (seasonAvailable) { + return "available"; + } + + const seasonPending = season.episodes.some((ep) => { + return ep.requested && !ep.approved + }); + if (seasonPending) { + return "requested"; + } + + const seasonApproved = season.episodes.some((ep) => { + return ep.requested && ep.approved + }); + if (seasonApproved) { + return "approved"; + } + return ""; + } + + public getEpisodeStatusClass(ep: IEpisodesRequests): string { + if (ep.available) { + return "available"; + } + + if (ep.requested && !ep.approved) { + return "requested"; + } + + if (ep.requested && ep.approved) { + return "approved"; + } + return ""; + } +} diff --git a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-requests/tv-requests-panel.component.html b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-requests/tv-requests-panel.component.html index b45d9cc7a..c8588b1c7 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-requests/tv-requests-panel.component.html +++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-requests/tv-requests-panel.component.html @@ -15,7 +15,7 @@
- Requested By '{{request.requestedUser.userAlias}}' on + {{'Requests.RequestedBy' | translate}} '{{request.requestedUser.userAlias}}' on {{request.requestedDate | amLocal | amDateFormat: 'LL' }} - {{request.deniedReason}} @@ -29,7 +29,7 @@ - {{ 'Requests.Number' | translate }} + # {{element.episodeNumber}} diff --git a/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html b/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html index a479aba81..a25eed389 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html +++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html @@ -36,9 +36,9 @@
- + {{ 'Common.Request' | translate }} -->
+
+
+
+ + +
diff --git a/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.html b/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.html index 1dc7d03f0..327d56723 100644 --- a/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.html +++ b/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.html @@ -1,7 +1,4 @@ -
- -
-
+
{{'MediaDetails.EpisodeSelector.NoEpisodes' | translate}}
@@ -22,9 +19,9 @@ - + Season {{season.seasonNumber}} - Season {{season.seasonNumber}} + Season {{season.seasonNumber}} @@ -51,14 +48,7 @@ {{ep.airDateDisplay }}
- {{'Common.Available' | translate}} - {{'Common.ProcessingRequest' | translate}} - Selected - {{'Common.PendingApproval' | translate}} - - Not Requested + {{ep.requestStatus | translate}}
diff --git a/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.ts b/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.ts index baba7d143..e5bf491d8 100644 --- a/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.ts +++ b/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.ts @@ -14,9 +14,8 @@ export interface EpisodeRequestData { selector: "episode-request", templateUrl: "episode-request.component.html", }) -export class EpisodeRequestComponent implements OnInit { +export class EpisodeRequestComponent { - public loading: boolean; public get requestable() { return this.data?.series?.seasonRequests?.length > 0 } @@ -24,11 +23,6 @@ export class EpisodeRequestComponent implements OnInit { constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: EpisodeRequestData, private requestService: RequestService, private notificationService: MessageService) { } - public ngOnInit() { - this.loading = true; - - this.loading = false; - } public async submitRequests() { // Make sure something has been selected @@ -99,6 +93,13 @@ export class EpisodeRequestComponent implements OnInit { }); } + public isSeasonCheckable(season: INewSeasonRequests) { + const seasonAvailable = season.episodes.every((ep) => { + return ep.available || ep.requested || ep.approved; + }); + return !seasonAvailable; + } + public async requestAllSeasons() { this.data.series.requestAll = true; await this.submitRequests(); diff --git a/src/Ombi/wwwroot/translations/bg.json b/src/Ombi/wwwroot/translations/bg.json index 13e69e626..5633d1adc 100644 --- a/src/Ombi/wwwroot/translations/bg.json +++ b/src/Ombi/wwwroot/translations/bg.json @@ -116,7 +116,7 @@ "LatestSeason": "Последен сезон", "Select": "Изберете...", "SubmitRequest": "Подаване на заявка", - "Season": "Сезон: {{seasonNumber}}", + "Season": "Сезон {{seasonNumber}}", "SelectAllInSeason": "Избиране на всичко в сезона {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Премахване", "Deny": "Отказване", "DenyReason": "Deny Reason", - "Season": "Сезон:", + "Season": "Сезон", "GridTitle": "Заглавие", "AirDate": "Дата на излъчване", "GridStatus": "Състояние", diff --git a/src/Ombi/wwwroot/translations/da.json b/src/Ombi/wwwroot/translations/da.json index a8948554a..b4b6886ca 100644 --- a/src/Ombi/wwwroot/translations/da.json +++ b/src/Ombi/wwwroot/translations/da.json @@ -116,7 +116,7 @@ "LatestSeason": "Seneste sæson", "Select": "Vælg ...", "SubmitRequest": "Send anmodning", - "Season": "Sæson: {{seasonNumber}}", + "Season": "Sæson {{seasonNumber}}", "SelectAllInSeason": "Vælg alle i sæson {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Fjern", "Deny": "Afvis", "DenyReason": "Deny Reason", - "Season": "Sæson:", + "Season": "Sæson", "GridTitle": "Titel", "AirDate": "Sendt", "GridStatus": "Status", diff --git a/src/Ombi/wwwroot/translations/de.json b/src/Ombi/wwwroot/translations/de.json index e2678ff67..ad93869c5 100644 --- a/src/Ombi/wwwroot/translations/de.json +++ b/src/Ombi/wwwroot/translations/de.json @@ -116,7 +116,7 @@ "LatestSeason": "aktuellste Staffel", "Select": "Wähle...", "SubmitRequest": "Anfrage einreichen", - "Season": "Staffel: {{seasonNumber}}", + "Season": "Staffel {{seasonNumber}}", "SelectAllInSeason": "Markiere alles in Staffel {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Entfernen", "Deny": "Ablehnen", "DenyReason": "Ablehnungsgrund", - "Season": "Staffel:", + "Season": "Staffel", "GridTitle": "Titel", "AirDate": "Erstausstrahlung", "GridStatus": "Status", diff --git a/src/Ombi/wwwroot/translations/en.json b/src/Ombi/wwwroot/translations/en.json index 841861180..c75a74a99 100644 --- a/src/Ombi/wwwroot/translations/en.json +++ b/src/Ombi/wwwroot/translations/en.json @@ -117,7 +117,7 @@ "LatestSeason": "Latest Season", "Select": "Select ...", "SubmitRequest": "Submit Request", - "Season": "Season: {{seasonNumber}}", + "Season": "Season {{seasonNumber}}", "SelectAllInSeason": "Select All in Season {{seasonNumber}}" } }, @@ -147,7 +147,7 @@ "Remove": "Remove", "Deny": "Deny", "DenyReason": "Deny Reason", - "Season": "Season:", + "Season": "Season", "GridTitle": "Title", "AirDate": "AirDate", "GridStatus": "Status", diff --git a/src/Ombi/wwwroot/translations/es.json b/src/Ombi/wwwroot/translations/es.json index b7e7c62e6..99def393b 100644 --- a/src/Ombi/wwwroot/translations/es.json +++ b/src/Ombi/wwwroot/translations/es.json @@ -116,7 +116,7 @@ "LatestSeason": "Última temporada", "Select": "Selecciona...", "SubmitRequest": "Enviar solicitud", - "Season": "Temporada: {{seasonNumber}}", + "Season": "Temporada {{seasonNumber}}", "SelectAllInSeason": "Seleccionar todo en temporada {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Eliminar", "Deny": "Denegar", "DenyReason": "Razón Denegada", - "Season": "Temporada:", + "Season": "Temporada", "GridTitle": "Título", "AirDate": "Fecha de estreno", "GridStatus": "Estado", diff --git a/src/Ombi/wwwroot/translations/fr.json b/src/Ombi/wwwroot/translations/fr.json index 39020a38d..85539eefe 100644 --- a/src/Ombi/wwwroot/translations/fr.json +++ b/src/Ombi/wwwroot/translations/fr.json @@ -116,7 +116,7 @@ "LatestSeason": "Dernière saison", "Select": "Sélectionner...", "SubmitRequest": "Envoyer la demande", - "Season": "Saison: {{seasonNumber}}", + "Season": "Saison {{seasonNumber}}", "SelectAllInSeason": "Tout sélectionner dans la saison {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Supprimer", "Deny": "Refuser", "DenyReason": "Raison de refus", - "Season": "Saison :", + "Season": "Saison", "GridTitle": "Titre", "AirDate": "Date de diffusion", "GridStatus": "Statut", diff --git a/src/Ombi/wwwroot/translations/hu.json b/src/Ombi/wwwroot/translations/hu.json index fb6829ab4..6e9e8fd7a 100644 --- a/src/Ombi/wwwroot/translations/hu.json +++ b/src/Ombi/wwwroot/translations/hu.json @@ -116,7 +116,7 @@ "LatestSeason": "Utolsó évad", "Select": "Kiválasztás...", "SubmitRequest": "Kérés küldése", - "Season": "Évad: {{seasonNumber}}", + "Season": "Évad {{seasonNumber}}", "SelectAllInSeason": "Egész {{seasonNumber}}. évad kiválasztása" } }, @@ -146,7 +146,7 @@ "Remove": "Törlés", "Deny": "Elutasítás", "DenyReason": "Deny Reason", - "Season": "Évad:", + "Season": "Évad", "GridTitle": "Cím", "AirDate": "Bemutató", "GridStatus": "Állapot", diff --git a/src/Ombi/wwwroot/translations/it.json b/src/Ombi/wwwroot/translations/it.json index 3fb41154c..0131b33b4 100644 --- a/src/Ombi/wwwroot/translations/it.json +++ b/src/Ombi/wwwroot/translations/it.json @@ -116,7 +116,7 @@ "LatestSeason": "Ultima Stagione", "Select": "Seleziona ...", "SubmitRequest": "Invia richiesta", - "Season": "Stagione: {{seasonNumber}}", + "Season": "Stagione {{seasonNumber}}", "SelectAllInSeason": "Seleziona Tutto nella Stagione {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Elimina", "Deny": "Nega", "DenyReason": "Nega Motivo", - "Season": "Stagione:", + "Season": "Stagione", "GridTitle": "Titolo", "AirDate": "Data di trasmissione", "GridStatus": "Stato", diff --git a/src/Ombi/wwwroot/translations/nl.json b/src/Ombi/wwwroot/translations/nl.json index 17ef0d1bb..8e0e66495 100644 --- a/src/Ombi/wwwroot/translations/nl.json +++ b/src/Ombi/wwwroot/translations/nl.json @@ -116,7 +116,7 @@ "LatestSeason": "Laatste Seizoen", "Select": "Selecteer...", "SubmitRequest": "Verzoek Indienen", - "Season": "Seizoen: {{seasonNumber}}", + "Season": "Seizoen {{seasonNumber}}", "SelectAllInSeason": "Selecteer Alles in het Seizoen {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Verwijderen", "Deny": "Weigeren", "DenyReason": "Reden van afwijzing", - "Season": "Seizoen:", + "Season": "Seizoen", "GridTitle": "Titel", "AirDate": "Uitzenddatum", "GridStatus": "Status", diff --git a/src/Ombi/wwwroot/translations/no.json b/src/Ombi/wwwroot/translations/no.json index 80d32f716..c1168281a 100644 --- a/src/Ombi/wwwroot/translations/no.json +++ b/src/Ombi/wwwroot/translations/no.json @@ -116,7 +116,7 @@ "LatestSeason": "Siste sesong", "Select": "Velg...", "SubmitRequest": "Send forespørsel", - "Season": "Sesong: {{seasonNumber}}", + "Season": "Sesong {{seasonNumber}}", "SelectAllInSeason": "Velg alle i sesong {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Fjern", "Deny": "Avslå", "DenyReason": "Deny Reason", - "Season": "Sesong:", + "Season": "Sesong", "GridTitle": "Tittel", "AirDate": "Sendedato", "GridStatus": "Status", diff --git a/src/Ombi/wwwroot/translations/pl.json b/src/Ombi/wwwroot/translations/pl.json index 32e82515d..0beb36e0c 100644 --- a/src/Ombi/wwwroot/translations/pl.json +++ b/src/Ombi/wwwroot/translations/pl.json @@ -116,7 +116,7 @@ "LatestSeason": "Najnowszy sezon", "Select": "Wybierz…", "SubmitRequest": "Dodaj zgłoszenie", - "Season": "Sezon: {{seasonNumber}}", + "Season": "Sezon {{seasonNumber}}", "SelectAllInSeason": "Wybierz wszystkie w sezonie {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Usuń", "Deny": "Odrzuć", "DenyReason": "Powód odrzucenia", - "Season": "Sezon:", + "Season": "Sezon", "GridTitle": "Tytuł", "AirDate": "Data emisji", "GridStatus": "Status", diff --git a/src/Ombi/wwwroot/translations/pt.json b/src/Ombi/wwwroot/translations/pt.json index dbfb1f9bd..d273ce10f 100644 --- a/src/Ombi/wwwroot/translations/pt.json +++ b/src/Ombi/wwwroot/translations/pt.json @@ -116,7 +116,7 @@ "LatestSeason": "Latest Season", "Select": "Select ...", "SubmitRequest": "Submit Request", - "Season": "Season: {{seasonNumber}}", + "Season": "Season {{seasonNumber}}", "SelectAllInSeason": "Select All in Season {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Remove", "Deny": "Deny", "DenyReason": "Deny Reason", - "Season": "Season:", + "Season": "Season", "GridTitle": "Title", "AirDate": "AirDate", "GridStatus": "Status", diff --git a/src/Ombi/wwwroot/translations/ru.json b/src/Ombi/wwwroot/translations/ru.json index 789038220..9139c438a 100644 --- a/src/Ombi/wwwroot/translations/ru.json +++ b/src/Ombi/wwwroot/translations/ru.json @@ -116,7 +116,7 @@ "LatestSeason": "Последний сезон", "Select": "Выбрать...", "SubmitRequest": "Подать запрос", - "Season": "Сезон: {{seasonNumber}}", + "Season": "Сезон {{seasonNumber}}", "SelectAllInSeason": "Выбрать все в сезоне {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Удалить", "Deny": "Отклонить", "DenyReason": "Deny Reason", - "Season": "Сезон:", + "Season": "Сезон", "GridTitle": "Название", "AirDate": "Дата", "GridStatus": "Статус", diff --git a/src/Ombi/wwwroot/translations/sk.json b/src/Ombi/wwwroot/translations/sk.json index 4cc9b96b6..91e8e3806 100644 --- a/src/Ombi/wwwroot/translations/sk.json +++ b/src/Ombi/wwwroot/translations/sk.json @@ -116,7 +116,7 @@ "LatestSeason": "Posledná séria", "Select": "Vybrať ...", "SubmitRequest": "Poslať žiadosť", - "Season": "Séria: {{seasonNumber}}", + "Season": "Séria {{seasonNumber}}", "SelectAllInSeason": "Vybrať všetko v danej sérii {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Odstrániť", "Deny": "Odmietnuť", "DenyReason": "Deny Reason", - "Season": "Séria:", + "Season": "Séria", "GridTitle": "Názov", "AirDate": "Dátum vysielania", "GridStatus": "Stav", diff --git a/src/Ombi/wwwroot/translations/sv.json b/src/Ombi/wwwroot/translations/sv.json index 63c92b817..206b0adb2 100644 --- a/src/Ombi/wwwroot/translations/sv.json +++ b/src/Ombi/wwwroot/translations/sv.json @@ -116,7 +116,7 @@ "LatestSeason": "Senaste säsongen", "Select": "Välj...", "SubmitRequest": "Skicka begäran", - "Season": "Säsong: {{seasonNumber}}", + "Season": "Säsong {{seasonNumber}}", "SelectAllInSeason": "Välj alla avsnitt i säsong {{seasonNumber}}" } }, @@ -146,7 +146,7 @@ "Remove": "Ta bort", "Deny": "Neka", "DenyReason": "Anledning för nekande", - "Season": "Säsong:", + "Season": "Säsong", "GridTitle": "Titel", "AirDate": "Releasedatum", "GridStatus": "Status",