import Link from "next/link";
import type { ReactNode } from "react";
import { PRO_UPGRADE_REQUIRED_SUFFIX } from "@/lib/credits";
import { UPGRADE_URL } from "@/lib/plans";
import { UpgradeProButton } from "@/components/UpgradeProButton";

type Props = {
  className?: string;
  children?: ReactNode;
};

export function UpgradeProLink({ className = "text-accent hover:underline", children }: Props) {
  return (
    <Link href={UPGRADE_URL} className={className}>
      {children ?? "Upgrade to Pro"}
    </Link>
  );
}

export function QuotaErrorMessage({ message }: { message: string }) {
  if (message.endsWith(PRO_UPGRADE_REQUIRED_SUFFIX)) {
    return (
      <>
        {message.slice(0, -PRO_UPGRADE_REQUIRED_SUFFIX.length)}{" "}
        <UpgradeProButton
          className="font-medium text-red-200 underline hover:text-white"
          label="Upload up to 50 videos with Pro!"
        />
      </>
    );
  }

  return <>{message}</>;
}
