Added the ability for the discover options to stay/stick

This commit is contained in:
tidusjar 2020-03-25 22:14:45 +00:00
commit e080afe05a

View file

@ -3,6 +3,7 @@ import { SearchV2Service } from "../../../services";
import { ISearchMovieResult, ISearchTvResult, RequestType } from "../../../interfaces";
import { IDiscoverCardResult, DiscoverOption } from "../../interfaces";
import { trigger, transition, style, animate } from "@angular/animations";
import { StorageService } from "../../../shared/storage/storage-service";
@Component({
templateUrl: "./discover.component.html",
@ -27,7 +28,7 @@ export class DiscoverComponent implements OnInit {
public defaultTvPoster: string;
public popularActive: boolean = true;
public popularActive: boolean;
public trendingActive: boolean;
public upcomingActive: boolean;
@ -36,22 +37,28 @@ export class DiscoverComponent implements OnInit {
private contentLoaded: number;
private isScrolling: boolean = false;
private mediaTypeStorageKey = "DiscoverOptions";
constructor(private searchService: SearchV2Service) { }
constructor(private searchService: SearchV2Service,
private storageService: StorageService) { }
public async ngOnInit() {
this.loading()
const localDiscoverOptions = +this.storageService.get(this.mediaTypeStorageKey);
if (localDiscoverOptions) {
this.discoverOptions = DiscoverOption[DiscoverOption[localDiscoverOptions]];
}
this.scrollDisabled = true;
switch (this.discoverOptions) {
case DiscoverOption.Combined:
this.movies = await this.searchService.popularMoviesByPage(0,12);
this.tvShows = await this.searchService.popularTvByPage(0,12);
this.movies = await this.searchService.popularMoviesByPage(0, 12);
this.tvShows = await this.searchService.popularTvByPage(0, 12);
break;
case DiscoverOption.Movie:
this.movies = await this.searchService.popularMoviesByPage(0,12);
this.movies = await this.searchService.popularMoviesByPage(0, 12);
break;
case DiscoverOption.Tv:
this.tvShows = await this.searchService.popularTvByPage(0,12);
this.tvShows = await this.searchService.popularTvByPage(0, 12);
break;
}
@ -200,6 +207,7 @@ export class DiscoverComponent implements OnInit {
this.loading();
this.clear();
this.discoverOptions = newMode;
this.storageService.save(this.mediaTypeStorageKey, newMode.toString());
await this.ngOnInit();
this.finishLoading();
}