Forgot-password request form
The recovery request screen should only ask for the user email, validate it quickly, and submit without friction. This keeps the experience clear at the exact moment a user is already under stress.
React Hook Form example
import React from 'react';
import { useForm } from 'react-hook-form';
import { useForgotPassword } from 'albatroz';
export default function ForgotPasswordScreen() {
const { loading, submitHandler } = useForgotPassword();
const {
register,
handleSubmit,
formState: { errors },
} = useForm();
return (
<form onSubmit={handleSubmit(submitHandler)}>
<label htmlFor="email">Email</label>
<input
id="email"
type="email"
placeholder="name@company.com"
{...register('email', {
required: 'Please enter a valid email',
pattern: {
value: /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/i,
message: 'Please use a valid email format',
},
})}
/>
{errors.email && <p>{String(errors.email.message)}</p>}
<button disabled={loading}>
{loading ? 'Processing' : 'Send'}
</button>
</form>
);
}