From 3f709776f276ecfc9f3222278e1998f987ec6ca9 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 7 May 2019 00:00:13 -0600 Subject: [PATCH] Update Timeline.vue and Profile.vue --- resources/assets/js/components/Profile.vue | 14 +++++++++++--- resources/assets/js/components/Timeline.vue | 15 +++++++++++---- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/resources/assets/js/components/Profile.vue b/resources/assets/js/components/Profile.vue index 54dbc6a4..3c4bcc20 100644 --- a/resources/assets/js/components/Profile.vue +++ b/resources/assets/js/components/Profile.vue @@ -516,6 +516,7 @@ export default { ], data() { return { + ids: [], profile: {}, user: {}, timeline: [], @@ -568,6 +569,7 @@ export default { .then(res => { let data = res.data; let ids = data.map(status => status.id); + this.ids = ids; this.min_id = Math.max(...ids); this.max_id = Math.min(...ids); this.modalStatus = _.first(res.data); @@ -601,9 +603,15 @@ export default { }).then(res => { if (res.data.length && this.loading == false) { let data = res.data; - let ids = data.map(status => status.id); - this.max_id = Math.min(...ids); - this.timeline.push(...data); + let self = this; + data.forEach(d => { + if(self.ids.indexOf(d.id) == -1) { + self.timeline.push(d); + self.ids.push(d.id); + } + }); + this.min_id = Math.max(...this.ids); + this.max_id = Math.min(...this.ids); $state.loaded(); this.loading = false; } else { diff --git a/resources/assets/js/components/Timeline.vue b/resources/assets/js/components/Timeline.vue index 203a415a..2e11d3b3 100644 --- a/resources/assets/js/components/Timeline.vue +++ b/resources/assets/js/components/Timeline.vue @@ -430,6 +430,7 @@ props: ['scope'], data() { return { + ids: [], config: {}, page: 2, feed: [], @@ -544,6 +545,7 @@ let data = res.data; this.feed.push(...data); let ids = data.map(status => status.id); + this.ids = ids; this.min_id = Math.max(...ids); this.max_id = Math.min(...ids); $('.timeline .pagination').removeClass('d-none'); @@ -579,10 +581,15 @@ }).then(res => { if (res.data.length && this.loading == false) { let data = res.data; - this.feed.push(...data); - let ids = data.map(status => status.id); - this.min_id = Math.max(...ids); - this.max_id = Math.min(...ids); + let self = this; + data.forEach(d => { + if(self.ids.indexOf(d.id) == -1) { + self.feed.push(d); + self.ids.push(d.id); + } + }); + this.min_id = Math.max(...this.ids); + this.max_id = Math.min(...this.ids); this.page += 1; $state.loaded(); this.loading = false;