MCPcopy Create free account
hub / github.com/SyntaxUI/syntaxui / BorderGlowButton

Function BorderGlowButton

src/showcase/components/button/BorderGlowButton.tsx:5–42  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3import { useEffect, useRef, useState } from 'react'
4
5const BorderGlowButton = () => {
6 const ref = useRef<HTMLButtonElement>(null)
7 const [mousePosition, setMousePosition] = useState({ x: '-100%', y: '-100%' })
8
9 useEffect(() => {
10 const handleMouseMove = (e: MouseEvent) => {
11 if (!ref.current) return
12 const rect = ref.current.getBoundingClientRect()
13 const x = e.clientX - rect.left
14 const y = e.clientY - rect.top
15 setMousePosition({ x: `${x}px`, y: `${y}px` })
16 }
17 document.addEventListener('mousemove', handleMouseMove)
18 return () => {
19 document.removeEventListener('mousemove', handleMouseMove)
20 }
21 }, [])
22
23 return (
24 <button
25 className="relative overflow-hidden rounded-lg bg-[#e5e7eb] transform transition-transform ease-in-out active:scale-90"
26 ref={ref}
27 >
28 <span
29 className={`absolute z-0 h-28 w-28 -translate-x-1/2 -translate-y-1/2 bg-[radial-gradient(#fb3b53_0%,transparent_70%)] `}
30 style={
31 {
32 left: mousePosition.x,
33 top: mousePosition.y,
34 } as any
35 }
36 ></span>
37 <div className="relative z-10 m-[1px] rounded-[calc(0.5rem-1px)] bg-white/90 px-4 py-1 text-xs text-[#fb3b53] backdrop-blur-sm">
38 SyntaxUI
39 </div>
40 </button>
41 )
42}
43
44export default BorderGlowButton

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected