13 lines
752 B
TypeScript
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>
|
|
}
|