"use client"; import { useState } from "react"; import { useSession } from "next-auth/react"; import { Mail, X, Loader2 } from "lucide-react"; import { Button } from "@/components/ui/button"; export function EmailVerificationBanner() { const { data: session } = useSession(); const [dismissed, setDismissed] = useState(false); const [sending, setSending] = useState(false); const [sent, setSent] = useState(false); if (!session?.user || session.user.isEmailVerified || dismissed) { return null; } async function handleResend() { setSending(true); try { const res = await fetch("/api/auth/verify-email/send", { method: "POST" }); if (res.ok) setSent(true); } catch { // silent fail — user can try again } finally { setSending(false); } } return (
{sent ? ( "Verification email sent — check your inbox." ) : ( <> Please verify your email address.{" "} > )}