import "./Preferences.css"; import { FormattedMessage, useIntl } from "react-intl"; import { AllLanguageCodes } from "@/Components/IntlProvider/IntlProviderUtils"; import { useLocale } from "@/Components/IntlProvider/useLocale"; import useLogin from "@/Hooks/useLogin"; import { unwrap } from "@/Utils"; import { DefaultImgProxy } from "@/Utils/Const"; import { updatePreferences, UserPreferences } from "@/Utils/Login"; import messages from "./messages"; const PreferencesPage = () => { const { formatMessage } = useIntl(); const { id, perf } = useLogin(s => ({ id: s.id, perf: s.appData.item.preferences })); const { lang } = useLocale(); return (

updatePreferences(id, { ...perf, telemetry: e.target.checked })} />

updatePreferences(id, { ...perf, checkSigs: e.target.checked })} />

updatePreferences(id, { ...perf, autoTranslate: e.target.checked })} />

updatePreferences(id, { ...perf, pow: parseInt(e.target.value || "0") })} />

updatePreferences(id, { ...perf, defaultZapAmount: parseInt(e.target.value || "0") })} />

updatePreferences(id, { ...perf, showBadges: e.target.checked })} />

updatePreferences(id, { ...perf, showStatus: e.target.checked })} />

updatePreferences(id, { ...perf, autoZap: e.target.checked })} />

updatePreferences(id, { ...perf, imgProxyConfig: e.target.checked ? DefaultImgProxy : undefined, }) } />
{perf.imgProxyConfig && (
updatePreferences(id, { ...perf, imgProxyConfig: { ...unwrap(perf.imgProxyConfig), url: e.target.value, }, }) } />
updatePreferences(id, { ...perf, imgProxyConfig: { ...unwrap(perf.imgProxyConfig), key: e.target.value, }, }) } />
updatePreferences(id, { ...perf, imgProxyConfig: { ...unwrap(perf.imgProxyConfig), salt: e.target.value, }, }) } />
)}

updatePreferences(id, { ...perf, enableReactions: e.target.checked })} />

{ const split = e.target.value.match(/[\p{L}\S]{1}/u); updatePreferences(id, { ...perf, reactionEmoji: split?.[0] ?? "", }); }} />

updatePreferences(id, { ...perf, confirmReposts: e.target.checked })} />

updatePreferences(id, { ...perf, autoShowLatest: e.target.checked })} />

updatePreferences(id, { ...perf, showDebugMenus: e.target.checked })} />

updatePreferences(id, { ...perf, hideMutedNotes: e.target.checked })} />
); }; export default PreferencesPage;