import React from 'react'; import { ModalBody, Box, Flex, Input, ModalFooter, Button } from '@chakra-ui/react'; import MyModal from '@fastgpt/web/components/common/MyModal'; import { useTranslation } from 'next-i18next'; import { useForm } from 'react-hook-form'; import { useRequest } from '@fastgpt/web/hooks/useRequest'; import { updatePasswordByOld } from '@/web/support/user/api'; type FormType = { oldPsw: string; newPsw: string; confirmPsw: string; }; const UpdatePswModal = ({ onClose }: { onClose: () => void }) => { const { t } = useTranslation(); const { register, handleSubmit } = useForm({ defaultValues: { oldPsw: '', newPsw: '', confirmPsw: '' } }); const { mutate: onSubmit, isLoading } = useRequest({ mutationFn: (data: FormType) => { if (data.newPsw !== data.confirmPsw) { return Promise.reject(t('common:common.Password inconsistency')); } return updatePasswordByOld(data); }, onSuccess() { onClose(); }, successToast: t('common:user.Update password successful'), errorToast: t('common:user.Update password failed') }); return ( {t('common:user.old_password') + ':'} {t('common:user.new_password') + ':'} {t('common:user.confirm_password') + ':'} ); }; export default UpdatePswModal;