diff --git a/src/Ombi/ClientApp/app/requests/remainingrequests.component.ts b/src/Ombi/ClientApp/app/requests/remainingrequests.component.ts index 1279a60e9..39f6ca200 100644 --- a/src/Ombi/ClientApp/app/requests/remainingrequests.component.ts +++ b/src/Ombi/ClientApp/app/requests/remainingrequests.component.ts @@ -21,17 +21,20 @@ export class RemainingRequestsComponent implements OnInit { ngOnInit(): void { var self = this; this.update(); + + setInterval(function(){ + self.calculateTime(); + }, 10000) + setInterval(function(){ self.update() - }, 10000) + }, 60000) } update(): void { var callback = (remaining => { this.remaining = remaining; - this.daysUntil = Math.ceil(this.daysUntilNextRequest()); - this.hoursUntil = Math.ceil(this.hoursUntilNextRequest()); - this.minutesUntil = Math.ceil(this.minutesUntilNextRequest()) + this.calculateTime(); }); if (this.movie) { @@ -41,6 +44,12 @@ export class RemainingRequestsComponent implements OnInit { } } + calculateTime(): void { + this.daysUntil = Math.ceil(this.daysUntilNextRequest()); + this.hoursUntil = Math.ceil(this.hoursUntilNextRequest()); + this.minutesUntil = Math.ceil(this.minutesUntilNextRequest()) + } + daysUntilNextRequest(): number { return (new Date(this.remaining.nextRequest).getTime() - new Date().getTime()) / 1000 / 60 / 60 / 24; } diff --git a/src/Ombi/ClientApp/app/search/moviesearch.component.html b/src/Ombi/ClientApp/app/search/moviesearch.component.html index 2e5a17559..6d8c040ac 100644 --- a/src/Ombi/ClientApp/app/search/moviesearch.component.html +++ b/src/Ombi/ClientApp/app/search/moviesearch.component.html @@ -20,7 +20,7 @@ - +
diff --git a/src/Ombi/ClientApp/app/search/moviesearch.component.ts b/src/Ombi/ClientApp/app/search/moviesearch.component.ts index afd217089..a6a009962 100644 --- a/src/Ombi/ClientApp/app/search/moviesearch.component.ts +++ b/src/Ombi/ClientApp/app/search/moviesearch.component.ts @@ -1,5 +1,5 @@ import { PlatformLocation } from "@angular/common"; -import { Component, Input, OnInit } from "@angular/core"; +import { Component, Input, OnInit, ViewChild } from "@angular/core"; import { DomSanitizer } from "@angular/platform-browser"; import { TranslateService } from "@ngx-translate/core"; import { Subject } from "rxjs"; @@ -8,6 +8,7 @@ import { debounceTime, distinctUntilChanged } from "rxjs/operators"; import { AuthService } from "../auth/auth.service"; import { IIssueCategory, IRequestEngineResult, ISearchMovieResult } from "../interfaces"; import { NotificationService, RequestService, SearchService } from "../services"; +import { RemainingRequestsComponent } from "../requests/remainingrequests.component"; @Component({ selector: "movie-search", @@ -24,6 +25,7 @@ export class MovieSearchComponent implements OnInit { @Input() public issueCategories: IIssueCategory[]; @Input() public issuesEnabled: boolean; + @ViewChild('remainingFilms') public remainingRequestsComponent: RemainingRequestsComponent; public issuesBarVisible = false; public issueRequestTitle: string; public issueRequestId: number; @@ -89,7 +91,7 @@ export class MovieSearchComponent implements OnInit { this.requestService.requestMovie({ theMovieDbId: searchResult.id }) .subscribe(x => { this.result = x; - + this.remainingRequestsComponent.update(); if (this.result.result) { this.translate.get("Search.RequestAdded", { title: searchResult.title }).subscribe(x => { this.notificationService.success(x); diff --git a/src/Ombi/ClientApp/app/search/seriesinformation.component.ts b/src/Ombi/ClientApp/app/search/seriesinformation.component.ts index cc8701a5b..27cdaf684 100644 --- a/src/Ombi/ClientApp/app/search/seriesinformation.component.ts +++ b/src/Ombi/ClientApp/app/search/seriesinformation.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, OnInit} from "@angular/core"; +import { Component, Input, OnInit, ViewChild} from "@angular/core"; import { NotificationService } from "../services"; import { RequestService } from "../services"; @@ -7,6 +7,7 @@ import { SearchService } from "../services"; import { INewSeasonRequests, IRequestEngineResult, ISeasonsViewModel, ITvRequestViewModel } from "../interfaces"; import { IEpisodesRequests } from "../interfaces"; import { ISearchTvResult } from "../interfaces"; +import { RemainingRequestsComponent } from "../requests/remainingrequests.component"; @Component({ selector: "seriesinformation", diff --git a/src/Ombi/ClientApp/app/search/tvsearch.component.html b/src/Ombi/ClientApp/app/search/tvsearch.component.html index 37453c97d..5f4938cf1 100644 --- a/src/Ombi/ClientApp/app/search/tvsearch.component.html +++ b/src/Ombi/ClientApp/app/search/tvsearch.component.html @@ -27,7 +27,7 @@
- +
diff --git a/src/Ombi/ClientApp/app/search/tvsearch.component.ts b/src/Ombi/ClientApp/app/search/tvsearch.component.ts index a41f34586..b18b1343a 100644 --- a/src/Ombi/ClientApp/app/search/tvsearch.component.ts +++ b/src/Ombi/ClientApp/app/search/tvsearch.component.ts @@ -1,5 +1,5 @@ import { PlatformLocation } from "@angular/common"; -import { Component, Input, OnInit } from "@angular/core"; +import { Component, Input, OnInit, ViewChild } from "@angular/core"; import { DomSanitizer } from "@angular/platform-browser"; import { Subject } from "rxjs"; import { debounceTime, distinctUntilChanged } from "rxjs/operators"; @@ -7,6 +7,7 @@ import { debounceTime, distinctUntilChanged } from "rxjs/operators"; import { AuthService } from "../auth/auth.service"; import { IIssueCategory, IRequestEngineResult, ISearchTvResult, ISeasonsViewModel, ITvRequestViewModel } from "../interfaces"; import { ImageService, NotificationService, RequestService, SearchService } from "../services"; +import { RemainingRequestsComponent } from "../requests/remainingrequests.component"; @Component({ selector: "tv-search", @@ -24,6 +25,7 @@ export class TvSearchComponent implements OnInit { @Input() public issueCategories: IIssueCategory[]; @Input() public issuesEnabled: boolean; + @ViewChild('remainingTvShows') public remainingRequestsComponent: RemainingRequestsComponent; public issuesBarVisible = false; public issueRequestTitle: string; public issueRequestId: number; @@ -162,6 +164,7 @@ export class TvSearchComponent implements OnInit { this.requestService.requestTv(viewModel) .subscribe(x => { this.result = x; + this.remainingRequestsComponent.update(); if (this.result.result) { this.notificationService.success( `Request for ${searchResult.title} has been added successfully`);