summaryrefslogtreecommitdiff
path: root/src/client/app/common/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/app/common/scripts')
-rw-r--r--src/client/app/common/scripts/should-mute-note.ts17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/client/app/common/scripts/should-mute-note.ts b/src/client/app/common/scripts/should-mute-note.ts
index 4eab76421d..8a6430b1df 100644
--- a/src/client/app/common/scripts/should-mute-note.ts
+++ b/src/client/app/common/scripts/should-mute-note.ts
@@ -2,8 +2,17 @@ export default function(me, settings, note) {
const isMyNote = note.userId == me.id;
const isPureRenote = note.renoteId != null && note.text == null && note.fileIds.length == 0 && note.poll == null;
- return settings.showMyRenotes === false && isMyNote && isPureRenote ||
- settings.showRenotedMyNotes === false && isPureRenote && note.renote.userId == me.id ||
- settings.showLocalRenotes === false && isPureRenote && note.renote.user.host == null ||
- !isMyNote && note.text && settings.mutedWords.some(q => q.length > 0 && !q.some(word => !note.text.includes(word)));
+ const includesMutedWords = (text: string) =>
+ text
+ ? settings.mutedWords.some(q => q.length > 0 && !q.some(word => !text.includes(word)))
+ : false;
+
+ return (
+ (!isMyNote && note.reply && includesMutedWords(note.reply.text)) ||
+ (!isMyNote && note.renote && includesMutedWords(note.renote.text)) ||
+ (settings.showMyRenotes === false && isMyNote && isPureRenote) ||
+ (settings.showRenotedMyNotes === false && isPureRenote && note.renote.userId == me.id) ||
+ (settings.showLocalRenotes === false && isPureRenote && note.renote.user.host == null) ||
+ (!isMyNote && includesMutedWords(note.text))
+ );
}