Browse Source

Update Timeline component, apply block/mute filters client side for local and network timelines

Daniel Supernault 3 years ago
parent
commit
be194b8a3f
1 changed files with 18 additions and 2 deletions
  1. 18 2
      resources/assets/js/components/Timeline.vue

+ 18 - 2
resources/assets/js/components/Timeline.vue

@@ -508,7 +508,8 @@
 				recentFeedMin: null,
 				recentFeedMax: null,
 				reactionBar: true,
-				emptyFeed: false
+				emptyFeed: false,
+				filters: []
 			}
 		},
 
@@ -567,7 +568,16 @@
 						break;
 					}
 				}
-				this.fetchTimelineApi();
+
+				if(this.scope != 'home') {
+					axios.get('/api/pixelfed/v2/filters')
+					.then(res => {
+						this.filters = res.data;
+						this.fetchTimelineApi();
+					});
+				} else {
+					this.fetchTimelineApi();
+				}
 			});
 		},
 
@@ -629,6 +639,12 @@
 						return;
 					}
 
+					if(this.filters.length) {
+						data = data.filter(d => {
+							return this.filters.includes(d.account.id) == false;
+						});
+					}
+
 					this.feed.push(...data);
 					let ids = data.map(status => status.id);
 					this.ids = ids;