import { useForm } from 'react-hook-form'; import { useState, ReactNode } from 'react'; import { Spinner, Button } from '@librechat/client'; import { useOutletContext } from 'react-router-dom'; import { useRequestPasswordResetMutation } from 'librechat-data-provider/react-query'; import type { TRequestPasswordReset, TRequestPasswordResetResponse } from 'librechat-data-provider'; import type { TLoginLayoutContext } from '~/common'; import type { FC } from 'react'; import { useLocalize } from '~/hooks'; const BodyTextWrapper: FC<{ children: ReactNode }> = ({ children }) => { return (
{children}
); }; const ResetPasswordBodyText = () => { const localize = useLocalize(); return (

{localize('com_auth_reset_password_if_email_exists')}

{localize('com_auth_back_to_login')}
); }; function RequestPasswordReset() { const localize = useLocalize(); const { register, handleSubmit, formState: { errors }, } = useForm(); const [bodyText, setBodyText] = useState(undefined); const { startupConfig, setHeaderText } = useOutletContext(); const requestPasswordReset = useRequestPasswordResetMutation(); const { isLoading } = requestPasswordReset; const onSubmit = (data: TRequestPasswordReset) => { requestPasswordReset.mutate(data, { onSuccess: (data: TRequestPasswordResetResponse) => { if (data.link && !startupConfig?.emailEnabled) { setHeaderText('com_auth_reset_password'); setBodyText( {localize('com_auth_click')}{' '} {localize('com_auth_here')} {' '} {localize('com_auth_to_reset_your_password')} , ); } else { setHeaderText('com_auth_reset_password_link_sent'); setBodyText(); } }, onError: () => { setHeaderText('com_auth_reset_password_link_sent'); setBodyText(); }, }); }; if (bodyText) { return {bodyText}; } return (
{errors.email && (

{errors.email.message}

)}
{localize('com_auth_back_to_login')}
); } export default RequestPasswordReset;