"use client"; import { useCallback, useRef, useState } from "react"; interface MagicCardProps { children: React.ReactNode; className?: string; } export function MagicCard({ children, className = "" }: MagicCardProps) { const ref = useRef(null); const [pos, setPos] = useState({ x: -999, y: -999 }); const [hovered, setHovered] = useState(false); const onMouseMove = useCallback((e: React.MouseEvent) => { if (!ref.current) return; const rect = ref.current.getBoundingClientRect(); setPos({ x: e.clientX - rect.left, y: e.clientY - rect.top }); }, []); return (
setHovered(true)} onMouseLeave={() => { setHovered(false); setPos({ x: -999, y: -999 }); }} className={className} > {children}
); }