diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-11-11 21:17:51 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-11-11 21:17:51 +0900 |
| commit | 71d42f64dc840e744e757cb5edae32276d83a7f4 (patch) | |
| tree | 32ccae355b74a00cf47066a862961d8cb33fd642 /src/client/app/common/scripts/should-mute-note.ts | |
| parent | [Client] Fix i18n (diff) | |
| download | sharkey-71d42f64dc840e744e757cb5edae32276d83a7f4.tar.gz sharkey-71d42f64dc840e744e757cb5edae32276d83a7f4.tar.bz2 sharkey-71d42f64dc840e744e757cb5edae32276d83a7f4.zip | |
[Client] Implement word mute
Closes #1739
Diffstat (limited to 'src/client/app/common/scripts/should-mute-note.ts')
| -rw-r--r-- | src/client/app/common/scripts/should-mute-note.ts | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/client/app/common/scripts/should-mute-note.ts b/src/client/app/common/scripts/should-mute-note.ts new file mode 100644 index 0000000000..a849135763 --- /dev/null +++ b/src/client/app/common/scripts/should-mute-note.ts @@ -0,0 +1,28 @@ +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; + + if (settings.showMyRenotes === false) { + if (isMyNote && isPureRenote) { + return true; + } + } + + if (settings.showRenotedMyNotes === false) { + if (isPureRenote && (note.renote.userId == me.id)) { + return true; + } + } + + if (settings.showLocalRenotes === false) { + if (isPureRenote && (note.renote.user.host == null)) { + return true; + } + } + + if (!isMyNote && note.text && settings.mutedWords.some(q => !q.some(word => !note.text.includes(word)))) { + return true; + } + + return false; +} |