type Props = {
  children: React.ReactNode;
  bgColor?: string;
  textColor?: string;
  borderColor?: string;
  onClick?: () => void;
  size?: "sm" | "md" | "lg";
};

const Button = ({
  children,
  bgColor = "bg-[radial-gradient(ellipse_at_top_right,_var(--tw-gradient-stops))] from-orange-400 to-rose-400",
  textColor = "text-white",
  borderColor = "border-blue-500",
  onClick,
  size = "md",
}: Props) => {
  const sizes = {
    sm: "py-1 px-3 text-sm",
    md: "py-2 px-4 text-md",
    lg: "py-3 px-5 text-lg",
  };

  const sizeClass = sizes[size] || sizes.md;

  return (
    <button
      className={`rounded-full transition-all duration-150 font-semibold ${bgColor} ${textColor} ${borderColor} ${sizeClass}`}
      onClick={onClick}
    >
      {children}
    </button>
  );
};

export default Button;
