import React, { useState } from 'react'; import { FormattedMessage } from 'react-intl'; import { Formik, Form, Field } from 'formik'; import Button from 'components/common/Button'; import FormLayout, { FormButtons, FormError, FormMessage, FormRow, } from 'components/layout/FormLayout'; import useApi from 'hooks/useApi'; import useUser from 'hooks/useUser'; const initialValues = { current_password: '', new_password: '', confirm_password: '', }; const validate = ({ current_password, new_password, confirm_password }) => { const errors = {}; if (!current_password) { errors.current_password = ; } if (!new_password) { errors.new_password = ; } if (!confirm_password) { errors.confirm_password = ; } else if (new_password !== confirm_password) { errors.confirm_password = ( ); } return errors; }; export default function ChangePasswordForm({ values, onSave, onClose }) { const { post } = useApi(); const [message, setMessage] = useState(); const { user } = useUser(); const handleSubmit = async values => { const { ok, error } = await post(`/users/${user.id}/password`, values); if (ok) { onSave(); } else { setMessage( error || , ); } }; return ( {() => (
{message}
)}
); }