summaryrefslogtreecommitdiff
path: root/src/client/app/common/scripts/should-mute-note.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-11-11 21:17:51 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-11-11 21:17:51 +0900
commit71d42f64dc840e744e757cb5edae32276d83a7f4 (patch)
tree32ccae355b74a00cf47066a862961d8cb33fd642 /src/client/app/common/scripts/should-mute-note.ts
parent[Client] Fix i18n (diff)
downloadsharkey-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.ts28
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;
+}