/* GoToSocial Copyright (C) GoToSocial Authors admin@gotosocial.org SPDX-License-Identifier: AGPL-3.0-or-later 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 . */ import React from "react"; import { useTextInput } from "../../../lib/form"; import useFormSubmit from "../../../lib/form/submit"; import { TextInput } from "../../../components/form/inputs"; import MutationButton from "../../../components/form/mutation-button"; import { usePasswordChangeMutation } from "../../../lib/query/user"; export default function PasswordChange({ oidcEnabled }: { oidcEnabled?: boolean }) { 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, usePasswordChangeMutation()); return (

Change Password

{ oidcEnabled &&

This instance is running with OIDC as its authorization + identity provider.
This means you cannot change your password using this settings panel.
To change your password, you should instead contact your OIDC provider.

} Learn more about this (opens in a new tab)
); }