/* GoToSocial Copyright (C) 2021-2023 GoToSocial Authors admin@gotosocial.org This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ "use strict"; const React = require("react"); const query = require("../lib/query"); const { useTextInput, useBoolInput } = require("../lib/form"); const useFormSubmit = require("../lib/form/submit"); const { Select, TextInput, Checkbox } = require("../components/form/inputs"); const FormWithData = require("../lib/form/form-with-data"); const Languages = require("../components/languages"); const MutationButton = require("../components/form/mutation-button"); module.exports = function UserSettings() { return ( ); }; function UserSettingsForm({ data }) { const { source } = data; /* form keys - string source[privacy] - bool source[sensitive] - string source[language] - string source[status_format] */ const form = { defaultPrivacy: useTextInput("source[privacy]", { defaultValue: source.privacy ?? "unlisted" }), isSensitive: useBoolInput("source[sensitive]", { defaultValue: source.sensitive }), language: useTextInput("source[language]", { defaultValue: source.language?.toUpperCase() ?? "EN" }), format: useTextInput("source[status_format]", { defaultValue: source.status_format ?? "plain" }), }; const [submitForm, result] = useFormSubmit(form, query.useUpdateCredentialsMutation()); return ( <>

Post settings

); } function PasswordChange() { const form = { oldPassword: useTextInput("old_password"), newPassword: useTextInput("new_password", { validator(val) { if (val != "" && val == form.oldPassword.value) { return "New password same as old password"; } return ""; } }) }; const verifyNewPassword = useTextInput("verifyNewPassword", { validator(val) { if (val != "" && val != form.newPassword.value) { return "Passwords do not match"; } return ""; } }); const [submitForm, result] = useFormSubmit(form, query.usePasswordChangeMutation()); return (

Change password

); }