"use client";
import { useRouter } from "next/navigation";
import { Button } from "~/components/ui/button";
import { api } from "~/trpc/react";
import { Send, Loader2, Mail, MailCheck } from "lucide-react";
interface EnhancedSendInvoiceButtonProps {
invoiceId: string;
variant?: "default" | "outline" | "ghost" | "icon";
className?: string;
showResend?: boolean;
size?: "default" | "sm" | "lg" | "icon";
}
export function EnhancedSendInvoiceButton({
invoiceId,
variant = "outline",
className,
showResend = false,
size = "default",
}: EnhancedSendInvoiceButtonProps) {
const router = useRouter();
// Fetch invoice data
const { data: invoiceData, isLoading: invoiceLoading } =
api.invoices.getById.useQuery({
id: invoiceId,
});
// Check if client has email
const hasClientEmail =
invoiceData?.client?.email && invoiceData.client.email.trim() !== "";
const handleSendClick = () => {
router.push(`/dashboard/invoices/${invoiceId}/send`);
};
// Icon variant for compact display
if (variant === "icon") {
return (
);
}
return (
);
}