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

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

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