'use client' import Image from 'next/image' import React from 'react' import learnhouseIcon from 'public/learnhouse_bigicon_1.png' import FormLayout, { FormField, FormLabelAndMessage, Input, } from '@components/Objects/StyledElements/Form/Form' import * as Form from '@radix-ui/react-form' import { getOrgLogoMediaDirectory } from '@services/media/media' import { AlertTriangle, Info } from 'lucide-react' import Link from 'next/link' import { getUriWithOrg } from '@services/config/config' import { useOrg } from '@components/Contexts/OrgContext' import { useRouter } from 'next/navigation' import { useFormik } from 'formik' import { sendResetLink } from '@services/auth/auth' const validate = (values: any) => { const errors: any = {} if (!values.email) { errors.email = 'Required' } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i.test(values.email)) { errors.email = 'Invalid email address' } return errors } function ForgotPasswordClient() { const org = useOrg() as any; const [isSubmitting, setIsSubmitting] = React.useState(false) const router = useRouter() const [error, setError] = React.useState('') const [message, setMessage] = React.useState('') const formik = useFormik({ initialValues: { email: '' }, validate, validateOnBlur: true, onSubmit: async (values) => { setIsSubmitting(true) let res = await sendResetLink(values.email, org?.id) if (res.status == 200) { setMessage(res.data + ', please check your email') setIsSubmitting(false) } else { setError(res.data.detail) setIsSubmitting(false) } }, }) return (
Enter your email address and we will send you a link to reset your password
{error && (