import { Head, useForm } from '@inertiajs/react';
import { FormEventHandler } from 'react';

import { Button } from '@admin/components/ui/button';
import { TextLink } from '@admin/components/ui/text-link';
import AuthLayout from '@admin/layouts/auth-layout';

export default function VerifyEmail({ status }: { status?: string }) {
    const { post, processing } = useForm({});

    const submit: FormEventHandler = (e) => {
        e.preventDefault();
        post(route('verification.send'));
    };

    return (
        <AuthLayout
            title="Verify email"
            description="Please verify your email address by clicking on the link we just emailed to you."
        >
            <Head title="Email verification" />

            {status === 'verification-link-sent' && (
                <p className="mb-4 text-center text-sm font-medium text-success">
                    A new verification link has been sent to the email address you provided during registration.
                </p>
            )}

            <form onSubmit={submit} className="space-y-6 text-center">
                <Button type="submit" variant="secondary" className="w-full" disabled={processing}>
                    {processing ? 'Sending…' : 'Resend verification email'}
                </Button>

                <TextLink href={route('logout')} method="post" className="mx-auto block">
                    Log out
                </TextLink>
            </form>
        </AuthLayout>
    );
}
