import Link from "next/link";
import type { ReactNode } from "react";
import { buttonVariants } from "@/components/ui/button";
import { CHAT_HOME_PATH } from "@/lib/constants";
import { cn } from "@/lib/utils";

export const chatHref = `${process.env.NEXT_PUBLIC_BASE_PATH ?? ""}${CHAT_HOME_PATH}`;

type LandingCtaProps = {
  children: ReactNode;
  className?: string;
  size?: "default" | "lg";
  variant?: "default" | "outline";
};

export function LandingCta({
  children,
  className,
  size = "default",
  variant = "default",
}: LandingCtaProps) {
  return (
    <Link
      className={cn(
        buttonVariants({
          variant,
          size: size === "lg" ? "lg" : "default",
        }),
        size === "lg" && "h-11 px-8 text-base",
        className
      )}
      href={chatHref}
      prefetch
    >
      {children}
    </Link>
  );
}
