import { Badge } from "@/components/ui/badge"
import { cn } from "@/lib/utils"

const PREMIUM_BADGE_CLASS =
  "border-violet-500/30 bg-violet-500/10 text-violet-700 dark:text-violet-300"
const PLUS_BADGE_CLASS =
  "border-sky-500/30 bg-sky-500/10 text-sky-700 dark:text-sky-300"
const BASIC_BADGE_CLASS =
  "border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300"

function planBadgeClass(planName: string): string | undefined {
  const normalized = planName.toLowerCase()
  if (normalized.includes("premium")) return PREMIUM_BADGE_CLASS
  if (normalized.includes("plus")) return PLUS_BADGE_CLASS
  if (normalized.includes("basic")) return BASIC_BADGE_CLASS
  return undefined
}

export function PlanBadge({
  planName,
  className,
}: {
  planName: string
  className?: string
}) {
  if (!planName) {
    return <span className="text-sm">—</span>
  }

  return (
    <Badge
      variant="outline"
      className={cn(planBadgeClass(planName), className)}
    >
      {planName}
    </Badge>
  )
}
