'use client'

import { cn } from '@/lib/utils'

export function Badge({
  children,
  variant = 'default',
  className,
}: {
  children: React.ReactNode
  variant?: 'default' | 'success' | 'warning' | 'danger' | 'muted'
  className?: string
}) {
  const variants = {
    default: 'bg-gradient-to-b from-brand-100 to-brand-200/70 text-brand-800 dark:from-brand-900/50 dark:to-brand-900/20 dark:text-brand-200',
    success: 'bg-gradient-to-b from-emerald-100 to-emerald-200/70 text-emerald-800 dark:from-emerald-900/50 dark:to-emerald-900/20 dark:text-emerald-200',
    warning: 'bg-gradient-to-b from-amber-100 to-amber-200/70 text-amber-800 dark:from-amber-900/50 dark:to-amber-900/20 dark:text-amber-200',
    danger: 'bg-gradient-to-b from-red-100 to-red-200/70 text-red-800 dark:from-red-900/50 dark:to-red-900/20 dark:text-red-200',
    muted: 'bg-[var(--surface-elevated)] text-[var(--text-muted)]',
  }

  return (
    <span
      className={cn(
        'inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize shadow-[inset_0_1px_0_rgba(255,255,255,0.5)] ring-1 ring-black/5',
        variants[variant],
        className,
      )}
    >
      {children}
    </span>
  )
}
