import { ButtonHTMLAttributes } from "react";
import { cn } from "@/utils/cn";

interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
  loading?: boolean;
}

export default function Button({
  className,
  loading,
  children,
  disabled,
  ...props
}: ButtonProps) {
  return (
    <button
      className={cn(
        "w-full rounded-xl bg-[#C9A227] px-4 py-3 font-semibold text-white transition-all duration-300",
        "hover:bg-[#b8931f]",
        "disabled:cursor-not-allowed disabled:opacity-60",
        className
      )}
      disabled={disabled || loading}
      {...props}
    >
      {loading ? "Please wait..." : children}
    </button>
  );
}