From 5f0932687911084fef3d1bb2ac673fa2fd7ef5fd Mon Sep 17 00:00:00 2001 From: eris Date: Mon, 1 Aug 2022 11:12:02 +0000 Subject: [PATCH] Mark replies to muted users for muting (#90) Reviewed-on: https://akkoma.dev/AkkomaGang/pleroma-fe/pulls/90 Co-authored-by: eris Co-committed-by: eris --- src/components/status/status.js | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/components/status/status.js b/src/components/status/status.js index a8bc4153..2959c3fd 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -277,6 +277,22 @@ const Status = { return mentions }, + mentionsMutedUser () { + // XXX: doesn't work on domain blocks, because users from blocked domains + // don't appear in `attentions' and therefore cannot be filtered. + let mentions = false + + // find if user in mentions list is blocked + this.status.attentions.forEach((attn) => { + if (attn.id === this.currentUser.id) return + const relationship = this.$store.getters.relationship(attn.id) + if (relationship.muting) { + mentions = true + } + }) + + return mentions + }, muted () { if (this.statusoid.user.id === this.currentUser.id) return false const reasonsToMute = this.userIsMuted || @@ -287,7 +303,9 @@ const Status = { // bot status (this.muteBotStatuses && this.botStatus && !this.compact) || // mentions blocked user - this.mentionsBlockedUser + this.mentionsBlockedUser || + // mentions muted user + this.mentionsMutedUser return !this.unmuted && !this.shouldNotMute && reasonsToMute }, userIsMuted () { @@ -340,7 +358,7 @@ const Status = { return (!this.shouldNotMute) && ( (this.muted && this.hideFilteredStatuses) || (this.userIsMuted && this.hideMutedUsers) || - (this.status.thread_muted && this.hideMutedThreads) || + ((this.status.thread_muted || this.mentionsMutedUser) && this.hideMutedThreads) || (this.muteWordHits.length > 0 && this.hideWordFilteredPosts) || (this.mentionsBlockedUser && this.hideThreadsWithBlockedUsers) )