From 37832b7f496a035a082d0a5f759b9caaea654fa9 Mon Sep 17 00:00:00 2001 From: Amitosh Swain Mahapatra Date: Nov 24 2018 17:11:55 +0000 Subject: Handle errors gracefully --- diff --git a/src/assets/img/fedora_colored.svg b/src/assets/img/fedora_colored.svg new file mode 100644 index 0000000..2c9e7a5 --- /dev/null +++ b/src/assets/img/fedora_colored.svg @@ -0,0 +1,85 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/src/pages/home/home.html b/src/pages/home/home.html index 8facbf9..8cf028a 100644 --- a/src/pages/home/home.html +++ b/src/pages/home/home.html @@ -44,7 +44,7 @@ - +
Fedora @@ -59,4 +59,4 @@
- \ No newline at end of file + diff --git a/src/pages/home/home.ts b/src/pages/home/home.ts index c50495c..506d898 100644 --- a/src/pages/home/home.ts +++ b/src/pages/home/home.ts @@ -1,5 +1,5 @@ import { Component } from '@angular/core'; -import { NavController } from 'ionic-angular'; +import { NavController, ToastController } from 'ionic-angular'; import { NotificationsPage } from '../../pages/notifications/notifications' import { Browser } from '../../providers/browser/browser'; import { FacebookProvider } from '../../providers/social/facebook'; @@ -29,23 +29,24 @@ export class HomePage { /** * List of Facebook and Twitter Posts */ - private socialposts: SocialMediaPost[]; + socialposts: SocialMediaPost[]; /** * List of images fetched from FedoraMag showing top 5 latest events */ - private carousel: Image[]; + carousel: Image[]; /** * List of posts from Fedora Community Blog */ - private blogposts: Post[]; + blogposts: Post[]; constructor(public navCtrl: NavController, private browser: Browser, private fb: FacebookProvider, private twitter: TwitterProvider, private fedoraMag: FedoraMagazineService, - private communityblog: CommunityBlogService) { + private communityblog: CommunityBlogService, + private toast: ToastController) { this.socialposts = []; this.blogposts = []; this.carousel = []; @@ -60,7 +61,12 @@ export class HomePage { combineLatest(this.fb.getPosts(HANDLE.FB), this.twitter.getPosts(HANDLE.TWITTER)) .subscribe(values => { this.socialposts = [...values[0], ...values[1]] as SocialMediaPost[]; - }); + }, () => this.toast.create({ + message: 'Could not load feed', + position: 'bottom', + duration: 2000, + }).present() + ); } /** @@ -70,7 +76,12 @@ export class HomePage { this.fedoraMag.getImages() .subscribe(images => { this.carousel = images; - }); + }, () => this.toast.create({ + message: 'Could not update header', + position: 'bottom', + duration: 2000, + }).present() + ); } /** @@ -80,7 +91,12 @@ export class HomePage { this.communityblog.getBlogPosts('null') .subscribe(blogposts => { this.blogposts = blogposts; - }); + }, () => this.toast.create({ + message: 'Could not load blog posts', + position: 'bottom', + duration: 2000, + }).present() + ); } ngOnInit() {