import { unixNowMs } from "@snort/shared"; import useLogin from "@/Hooks/useLogin"; import { SnortAppData, updateAppData } from "@/Utils/Login"; import { appendDedupe } from "@/Utils"; 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 ( <>