import Link from "next/link";
import { cn } from "@/lib/cn";
import type { ComponentProps } from "react";

const base =
  "inline-flex items-center justify-center gap-2 rounded-full px-6 py-2.5 text-sm transition-all duration-200";

const variants = {
  primary:
    "bg-[var(--gold)] text-[var(--navy)] font-medium shadow-sm hover:brightness-105 active:scale-[0.99]",
  secondary:
    "bg-[var(--navy)] text-white hover:bg-[#152a45] shadow-sm active:scale-[0.99]",
  outline:
    "border border-white/40 text-white hover:bg-white/10 backdrop-blur-sm",
  /** Hero: lacivert dolgu, beyaz metin */
  navySolid:
    "bg-[var(--navy)] text-white font-medium shadow-md hover:bg-[#152a45] active:scale-[0.99]",
  /** Hero: altın çerçeve, altın metin (koyu arka plan üzerinde) */
  goldOutline:
    "border-2 border-[var(--gold)] bg-transparent text-[var(--gold)] font-medium hover:bg-[var(--gold)]/10 active:scale-[0.99]",
  /** Açık zeminde lacivert çerçeve */
  outlineNavy:
    "border-2 border-[var(--navy)] bg-transparent text-[var(--navy)] font-medium hover:bg-[var(--navy)]/5 active:scale-[0.99]",
} as const;

export function ButtonLink({
  className,
  variant = "primary",
  ...props
}: ComponentProps<typeof Link> & { variant?: keyof typeof variants }) {
  return <Link className={cn(base, variants[variant], className)} {...props} />;
}
