import InputError from '@/Components/InputError';
import FormInput from '@/Components/UI/FormInput';
import Button from '@/Components/UI/Button';
import AuthLayout from '@/Layouts/AuthLayout';
import { Head, useForm } from '@inertiajs/react';
import { FormEventHandler } from 'react';

export default function ForgotPassword({ status }: { status?: string }) {
    const { data, setData, post, processing, errors } = useForm({
        email: '',
    });

    const submit: FormEventHandler = (e) => {
        e.preventDefault();

        post(route('password.email'));
    };

    return (
        <AuthLayout title="Forgot Password" subtitle="We'll email you a link to choose a new one.">
            <Head title="Forgot Password" />

            {status && (
                <div className="mb-4 rounded bg-status-published/10 px-4 py-2 text-sm font-medium text-status-published">
                    {status}
                </div>
            )}

            <form onSubmit={submit} className="space-y-5">
                <FormInput
                    id="email"
                    type="email"
                    name="email"
                    value={data.email}
                    isFocused={true}
                    placeholder="Email address"
                    onChange={(e) => setData('email', e.target.value)}
                />
                <InputError message={errors.email} className="mt-1" />

                <Button type="submit" variant="primary" className="w-full" disabled={processing}>
                    Email Password Reset Link
                </Button>
            </form>
        </AuthLayout>
    );
}
