import { Component, OnInit } from '@angular/core'; import { Location } from '@angular/common'; import { UserService } from '../services/user.service'; import { NewsService, IMAGE_BASE_URL } from '../services/news.service'; import { Platform } from '@ionic/angular'; import { Router } from '@angular/router'; @Component({ selector: 'app-bookmarks', templateUrl: './bookmarks.page.html', styleUrls: ['./bookmarks.page.scss'], }) export class BookmarksPage implements OnInit { bookmarked_articles: Array<{ title: string, alias: string, image: string, type: string, }> = []; image_url = IMAGE_BASE_URL; constructor( private location: Location, private userService: UserService, private newsService: NewsService, private router: Router, private platform: Platform, ) { } back() { this.location.back(); } getType(type: string) { let returnType: string = ''; console.log(type); switch(type) { case 'Photos': returnType = 'gallery'; break; case 'Videos': returnType = 'videos'; break; case 'News': returnType = 'news'; break; } return returnType; } showNewsDetails(alias_title: string, type: string) { this.router.navigate(['/home-details', { alias_title: alias_title, type: 'news' }]); } ngOnInit() { this.userService.getUserProfile().then((data: any) => { let bookmarked_articles: Array = data.bookmarked_articles; this.bookmarked_articles = []; for (let i = 0; i < bookmarked_articles.length; i += 1) { this.newsService.getArticleDetails(bookmarked_articles[i]).then((info: any) => { if (this.platform.is('android') || this.platform.is('capacitor')) { this.bookmarked_articles.push({ title: JSON.parse(info.data)['content'].data.short_title ? JSON.parse(info.data)['content'].data.short_title : JSON.parse(info.data)['content'].data.asset_title, alias: bookmarked_articles[i], image: this.image_url + JSON.parse(info.data)['content'].data.image_path + JSON.parse(info.data)['content'].data.image_file_name, type: this.getType(JSON.parse(info.data)['EntityData'].entities[0].ent_display_name) }); } else { this.bookmarked_articles.push({ title: info.content.data.short_title ? info.content.data.short_title : info.content.data.asset_title, alias: bookmarked_articles[i], image: this.image_url + info.content.data.image_path + info.content.data.image_file_name, type: this.getType(info.EntityData.entities[0].ent_display_name) }); } }, (e) => { // alert(JSON.stringify(e)); }); } }, () => { this.bookmarked_articles = []; }); } }