'use client'; import { forwardRef, HTMLAttributes, useId } from 'react'; export interface HologramCardProps extends HTMLAttributes { variant?: 'cyan' | 'pink' | 'green' | 'purple'; scanlines?: boolean; } const variantStyles = { cyan: { border: 'border-cyan-400', bg: 'bg-cyan-400/5', glow: 'hover:shadow-[0_0_20px_#00f0ff]', color: '#00f0ff' }, pink: { border: 'border-fuchsia-500', bg: 'bg-fuchsia-500/5', glow: 'hover:shadow-[0_0_20px_#ff00ff]', color: '#ff00ff' }, green: { border: 'border-emerald-400', bg: 'bg-emerald-400/5', glow: 'hover:shadow-[0_0_20px_#00ff88]', color: '#00ff88' }, purple: { border: 'border-purple-500', bg: 'bg-purple-500/5', glow: 'hover:shadow-[0_0_20px_#a855f7]', color: '#a855f7' }, }; export const HologramCard = forwardRef( ({ children, variant = 'cyan', scanlines = true, className = '', ...props }, ref) => { const id = useId(); const styles = variantStyles[variant]; return ( <>
{children}
{scanlines && (
)}
); } ); HologramCard.displayName = 'HologramCard'; export default HologramCard;