浏览代码

Update Timeline.vue and Profile.vue

Daniel Supernault 6 年之前
父节点
当前提交
3f709776f2
共有 2 个文件被更改,包括 22 次插入7 次删除
  1. 11 3
      resources/assets/js/components/Profile.vue
  2. 11 4
      resources/assets/js/components/Timeline.vue

+ 11 - 3
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 {

+ 11 - 4
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;