import { useState } from "react"; import { FormattedMessage } from "react-intl"; import useEventPublisher from "@/Hooks/useEventPublisher"; import useLogin from "@/Hooks/useLogin"; import { appendDedupe } from "@/Utils"; import { SnortAppData, updateAppData } from "@/Utils/Login"; export default function ModerationSettingsPage() { const login = useLogin(); const [muteWord, setMuteWord] = useState(""); const appData = login.appData.json; const { system } = useEventPublisher(); function addMutedWord() { updateAppData(login.id, system, ad => ({ ...ad, mutedWords: appendDedupe(appData.mutedWords, [muteWord]), })); setMuteWord(""); } const handleToggle = (setting: keyof SnortAppData) => { updateAppData(login.id, system, ad => ({ ...ad, [setting]: !appData[setting], })); }; function removeMutedWord(word: string) { updateAppData(login.id, system, ad => ({ ...ad, mutedWords: appData.mutedWords.filter(a => a !== word), })); setMuteWord(""); } return ( <>

handleToggle("showContentWarningPosts")} className="mr-2" id="showContentWarningPosts" />

setMuteWord(e.target.value.toLowerCase())} />
{appData.mutedWords.map(v => (
{v}
))}
); }