{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "glow-link-button",
  "type": "registry:component",
  "description": "A Button component with glow effect on hover.",
  "dependencies": [],
  "registryDependencies": [],
  "files": [
    {
      "path": "src/app/components/animatedComponents/buttons/glowlinkbutton/GlowLinkButton.tsx",
      "content": "\"use client\";\r\n\r\nimport Link from \"next/link\";\r\nimport React, { useRef } from \"react\";\r\n\r\ninterface GlowLinkButtonProps {\r\n    href: string;\r\n    children: React.ReactNode;\r\n    className?: string;\r\n    target?: string;\r\n    glowColor?: string; // optional: customize glow\r\n}\r\n\r\nexport default function GlowLinkButton({\r\n    href,\r\n    children,\r\n    className = \"\",\r\n    target = \"\",\r\n    glowColor = \"#FF590099\", // default glow color\r\n}: GlowLinkButtonProps) {\r\n    const glowRef = useRef<HTMLSpanElement>(null);\r\n\r\n    const handleMouseMove = (e: React.MouseEvent<HTMLAnchorElement>) => {\r\n        const rect = e.currentTarget.getBoundingClientRect();\r\n        const x = e.clientX - rect.left;\r\n        const y = e.clientY - rect.top;\r\n\r\n        if (glowRef.current) {\r\n            glowRef.current.style.left = `${x}px`;\r\n            glowRef.current.style.top = `${y}px`;\r\n        }\r\n    };\r\n\r\n    const handleMouseEnter = () => {\r\n        if (glowRef.current) glowRef.current.style.opacity = \"1\";\r\n    };\r\n\r\n    const handleMouseLeave = () => {\r\n        if (glowRef.current) glowRef.current.style.opacity = \"0\";\r\n    };\r\n\r\n    return (\r\n        <Link\r\n            href={href}\r\n            target={target}\r\n            onMouseMove={handleMouseMove}\r\n            onMouseEnter={handleMouseEnter}\r\n            onMouseLeave={handleMouseLeave}\r\n            className={`relative overflow-hidden inline-flex items-center justify-center font-bold rounded-full transition duration-300 ${className}`}\r\n        >\r\n            {children}\r\n            <span\r\n                ref={glowRef}\r\n                className=\"glow pointer-events-none absolute z-10 h-32 w-32 -translate-x-1/2 -translate-y-1/2 rounded-full opacity-0 transition-opacity duration-300\"\r\n                style={{\r\n                    background: `radial-gradient(circle, ${glowColor}, transparent 80%)`,\r\n                }}\r\n            />\r\n        </Link>\r\n    );\r\n}\r\n",
      "type": "registry:component",
      "target": "components/animated/buttons/glow-link/GlowLinkButton.tsx"
    }
  ]
}