// Components
import { Form, Head } from '@inertiajs/react';
import AuthStatus from '@/components/auth-status';
import TextLink from '@/components/text-link';
import { Button } from '@/components/ui/button';
import { Spinner } from '@/components/ui/spinner';
import { logout } from '@/routes';
import { send } from '@/routes/verification';

export default function VerifyEmail({ status }: { status?: string }) {
    return (
        <>
            <Head title="Verifica email" />

            {status === 'verification-link-sent' && (
                <AuthStatus message="Ti abbiamo inviato un nuovo link di verifica all'indirizzo email fornito in fase di registrazione." />
            )}

            <Form {...send.form()} className="space-y-6">
                {({ processing }) => (
                    <>
                        <Button disabled={processing} variant="secondary">
                            {processing && <Spinner />}
                            Invia di nuovo l'email di verifica
                        </Button>

                        <TextLink href={logout()} className="block text-sm">
                            Esci
                        </TextLink>
                    </>
                )}
            </Form>
        </>
    );
}

VerifyEmail.layout = {
    title: 'Verifica email',
    description:
        'Verifica il tuo indirizzo email cliccando sul link che ti abbiamo appena inviato.',
};
