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 (
);
};
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 (
);
}
export default RequestPasswordReset;