shared/ui/Badge.tsx

13 lines
752 B
TypeScript

'use client'
type Variant = 'default' | 'success' | 'warning' | 'danger' | 'info'
const v: Record<Variant, string> = {
default: 'bg-slate-100 text-slate-700 dark:bg-slate-800 dark:text-slate-300',
success: 'bg-emerald-100 text-emerald-700 dark:bg-emerald-500/10 dark:text-emerald-400',
warning: 'bg-amber-100 text-amber-700 dark:bg-amber-500/10 dark:text-amber-400',
danger: 'bg-red-100 text-red-700 dark:bg-red-500/10 dark:text-red-400',
info: 'bg-blue-100 text-blue-700 dark:bg-blue-500/10 dark:text-blue-400',
}
export default function Badge({ variant = 'default', children }: { variant?: Variant; children: React.ReactNode }) {
return <span className={`px-2.5 py-0.5 rounded-full text-xs font-medium ${v[variant]}`}>{children}</span>
}