import { motion } from 'framer-motion'; import { cn } from '@/lib/utils'; export function GlassCard({ children, className, hover = true, glow, ...props }) { return ( {/* Inner gradient */} {children} ); } export function StatCard({ title, value, subtitle, icon: Icon, color = 'cyan', trend, className }) { const colors = { cyan: { text: 'text-cyan-400', bg: 'bg-cyan-500/10', border: 'border-cyan-500/20' }, green: { text: 'text-green-400', bg: 'bg-green-500/10', border: 'border-green-500/20' }, purple: { text: 'text-purple-400', bg: 'bg-purple-500/10', border: 'border-purple-500/20' }, orange: { text: 'text-orange-400', bg: 'bg-orange-500/10', border: 'border-orange-500/20' }, red: { text: 'text-red-400', bg: 'bg-red-500/10', border: 'border-red-500/20' }, blue: { text: 'text-blue-400', bg: 'bg-blue-500/10', border: 'border-blue-500/20' }, }; const c = colors[color] ?? colors.cyan; return ( {title} {value} {subtitle && {subtitle}} {trend !== undefined && ( = 0 ? 'text-green-400' : 'text-red-400')}> {trend >= 0 ? '↑' : '↓'} {Math.abs(trend)}% vs last hour )} {Icon && ( )} ); }
{title}
{value}
{subtitle}
= 0 ? 'text-green-400' : 'text-red-400')}> {trend >= 0 ? '↑' : '↓'} {Math.abs(trend)}% vs last hour