"use client"; import React from "react"; export interface GradientButtonProps extends React.ButtonHTMLAttributes { children: React.ReactNode; size?: "sm" | "md" | "lg" | "xl"; className?: string; gradientColors?: string[]; animationSpeed?: number; glowEffect?: boolean; glowSize?: number; variant?: "default" | "outline" | "ghost"; } export function GradientButton({ children, size = "md", className = "", gradientColors = [ "#ff6d1b", "#ffee55", "#5bff89", "#4d8aff", "#6b5fff", "#ff64f9", "#ff6565", ], animationSpeed = 2, glowEffect = true, glowSize = 4, variant = "default", ...props }: GradientButtonProps) { // Generate gradient string from colors const gradientString = gradientColors.join(", "); // Size classes mapping const sizeClasses = { sm: "text-sm px-4 py-2 rounded-full", md: "text-base px-6 py-2 rounded-full", lg: "text-lg px-8 py-3 rounded-full", xl: "text-2xl px-10 py-4 rounded-full", }; // Border styles based on variant const borderStyles = { default: "border-transparent", outline: "border-current", ghost: "border-transparent bg-opacity-10", }; return ( <>