|
@@ -1,5 +1,4 @@
|
|
|
import { Component } from "@angular/core";
|
|
|
-import * as twt from './tweet.json';
|
|
|
import {
|
|
|
IonicPage,
|
|
|
NavController,
|
|
@@ -8,8 +7,10 @@ import {
|
|
|
Refresher,
|
|
|
LoadingController
|
|
|
} from "ionic-angular";
|
|
|
+import { Storage } from "@ionic/storage";
|
|
|
import { WriteTweetPage } from "../write-tweet/write-tweet";
|
|
|
import { FeedProvider } from "../../providers/feed/feed";
|
|
|
+import { MockProvider } from "../../providers/mock-provider/mock-provider";
|
|
|
|
|
|
@IonicPage()
|
|
|
@Component({
|
|
@@ -19,11 +20,14 @@ import { FeedProvider } from "../../providers/feed/feed";
|
|
|
export class HomePage {
|
|
|
menuController: MenuController;
|
|
|
tweets;
|
|
|
+ mock;
|
|
|
|
|
|
constructor(
|
|
|
public navCtrl: NavController,
|
|
|
private menuCtrl: MenuController,
|
|
|
private feed: FeedProvider,
|
|
|
+ private mockProv: MockProvider,
|
|
|
+ private storage: Storage,
|
|
|
private loadingCtrl: LoadingController
|
|
|
) {}
|
|
|
|
|
@@ -31,69 +35,89 @@ export class HomePage {
|
|
|
this.menuCtrl.enable(true, "sideNav");
|
|
|
}
|
|
|
|
|
|
- ionViewDidEnter() {
|
|
|
+ async ionViewDidEnter() {
|
|
|
const loading = this.loadingCtrl.create();
|
|
|
- // loading.present();
|
|
|
- loading.dismiss();
|
|
|
- this.tweets = twt;
|
|
|
- console.log('tweets are:',this.tweets);
|
|
|
- // this.feed
|
|
|
- // .loadHomeTimeline()
|
|
|
- // .then(tweets => (this.tweets = tweets))
|
|
|
- // .catch(err => console.error(err))
|
|
|
- // .then(() => loading.dismiss());
|
|
|
+ loading.present();
|
|
|
+ this.mock = await this.storage.get("mockup");
|
|
|
+ console.log('mockup?',this.mock);
|
|
|
+
|
|
|
+ if(this.mock){
|
|
|
+ this.mockProv
|
|
|
+ .loadHomeTimeline()
|
|
|
+ .then(tweets => (this.tweets = tweets))
|
|
|
+ .catch(err => console.error(err))
|
|
|
+ .then(() => loading.dismiss());
|
|
|
+ console.log('tweets from htl are:',this.tweets);
|
|
|
+
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ this.feed
|
|
|
+ .loadHomeTimeline()
|
|
|
+ .then(tweets => (this.tweets = tweets))
|
|
|
+ .catch(err => console.error(err))
|
|
|
+ .then(() => loading.dismiss());
|
|
|
+ }
|
|
|
+ // loading.dismiss();
|
|
|
}
|
|
|
|
|
|
doRefresh(refresher: Refresher) {
|
|
|
- // this.feed.loadHomeTimeline().then(tweets => {
|
|
|
- // this.tweets = tweets;
|
|
|
- // refresher.complete();
|
|
|
- // });
|
|
|
+ if(this.mock){
|
|
|
+ console.log('mock refresher called');
|
|
|
+ this.mockProv.loadHomeTimeline().then(tweets => {
|
|
|
+ this.tweets = tweets;
|
|
|
+ refresher.complete();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ this.feed.loadHomeTimeline().then(tweets => {
|
|
|
+ this.tweets = tweets;
|
|
|
+ refresher.complete();
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
loadMore(infiniteScroll: InfiniteScroll) {
|
|
|
- // this.feed
|
|
|
- // .loadHomeTimeline(this.oldestPublicTweet, this.oldestPrivateTweet)
|
|
|
- // .then(tweets => {
|
|
|
- // this.tweets = this.tweets.concat(tweets);
|
|
|
- // infiniteScroll.complete();
|
|
|
- // });
|
|
|
+ this.feed
|
|
|
+ .loadHomeTimeline(this.oldestPublicTweet, this.oldestPrivateTweet)
|
|
|
+ .then(tweets => {
|
|
|
+ this.tweets = this.tweets.concat(tweets);
|
|
|
+ infiniteScroll.complete();
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
writeTweet() {
|
|
|
+ console.log('Writing the tweet');
|
|
|
this.navCtrl.push(WriteTweetPage);
|
|
|
}
|
|
|
|
|
|
get publicTweets() {
|
|
|
- return null;
|
|
|
- // return this.tweets.filter(tweet => !tweet.private_tweet);
|
|
|
+ return this.tweets.filter(tweet => !tweet.private_tweet);
|
|
|
}
|
|
|
|
|
|
get privateTweets() {
|
|
|
- // return this.tweets.filter(tweet => tweet.private_tweet);
|
|
|
- return null;
|
|
|
+ return this.tweets.filter(tweet => tweet.private_tweet);
|
|
|
+ // return null;
|
|
|
}
|
|
|
|
|
|
get oldestPublicTweet() {
|
|
|
- return null;
|
|
|
+ // return null;
|
|
|
|
|
|
- // if (this.publicTweets.length > 0) {
|
|
|
- // return this.publicTweets.reduce((acc, cur) =>
|
|
|
- // acc.id < cur.id ? acc : cur
|
|
|
- // );
|
|
|
- // } else {
|
|
|
- // return undefined;
|
|
|
- // }
|
|
|
+ if (this.publicTweets.length > 0) {
|
|
|
+ return this.publicTweets.reduce((acc, cur) =>
|
|
|
+ acc.id < cur.id ? acc : cur
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ return undefined;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
get oldestPrivateTweet() {
|
|
|
- // if (this.privateTweets.length > 0) {
|
|
|
- // return this.privateTweets.reduce((acc, cur) =>
|
|
|
- // new Date(acc.created_at) < new Date(cur.created_at) ? acc : cur
|
|
|
- // );
|
|
|
- // } else {
|
|
|
- // return undefined;
|
|
|
- // }
|
|
|
- return null;
|
|
|
+ if (this.privateTweets.length > 0) {
|
|
|
+ return this.privateTweets.reduce((acc, cur) =>
|
|
|
+ new Date(acc.created_at) < new Date(cur.created_at) ? acc : cur
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ return undefined;
|
|
|
+ }
|
|
|
}
|
|
|
}
|