fix soft mute languages
This commit is contained in:
parent
c0afa4a2f7
commit
9a42745926
2 changed files with 12 additions and 8 deletions
|
@ -1,4 +1,5 @@
|
|||
import type { entities } from "firefish-js";
|
||||
import { detectLanguage, languageContains } from "./language-utils";
|
||||
|
||||
export interface Muted {
|
||||
muted: boolean;
|
||||
|
@ -12,11 +13,14 @@ function checkLangMute(
|
|||
note: entities.Note,
|
||||
mutedLangs: Array<string | string[]>,
|
||||
): Muted {
|
||||
const mutedLangList = new Set(
|
||||
mutedLangs.reduce((arr, x) => [...arr, ...(Array.isArray(x) ? x : [x])]),
|
||||
);
|
||||
if (mutedLangList.has((note.lang?.[0]?.lang || "").split("-")[0])) {
|
||||
return { muted: true, matched: [note.lang?.[0]?.lang] };
|
||||
console.log(note);
|
||||
const mutedLangList = mutedLangs.flat();
|
||||
console.log(mutedLangList);
|
||||
const noteLang = note.lang ?? detectLanguage(note.text ?? "") ?? "no-lang";
|
||||
for (const mutedLang of mutedLangList) {
|
||||
if (languageContains(mutedLang, noteLang)) {
|
||||
return { muted: true, matched: [noteLang] };
|
||||
}
|
||||
}
|
||||
return NotMuted;
|
||||
}
|
||||
|
@ -32,7 +36,7 @@ function checkWordMute(
|
|||
|
||||
if (text === "") return NotMuted;
|
||||
|
||||
const result = { muted: false, matched: [] };
|
||||
const result = { muted: false, matched: [] as string[] };
|
||||
|
||||
for (const mutePattern of mutedWords) {
|
||||
if (Array.isArray(mutePattern)) {
|
||||
|
@ -74,7 +78,7 @@ function checkWordMute(
|
|||
}
|
||||
|
||||
export function getWordSoftMute(
|
||||
note: firefish.entities.Note,
|
||||
note: entities.Note,
|
||||
meId: string | null | undefined,
|
||||
mutedWords: Array<string | string[]>,
|
||||
mutedLangs: Array<string | string[]>,
|
||||
|
|
|
@ -39,7 +39,7 @@ export function languageContains(
|
|||
) {
|
||||
if (!langCode1 || !langCode2) return false;
|
||||
|
||||
return parentLanguage(langCode2) === langCode1;
|
||||
return langCode1 === langCode2 || parentLanguage(langCode2) === langCode1;
|
||||
}
|
||||
|
||||
export function parentLanguage(langCode: string | null) {
|
||||
|
|
Loading…
Reference in a new issue