Files
dyolink/frontend/src/components/ui/Badge.tsx

31 lines
836 B
TypeScript
Raw Normal View History

//src/components/ui/Badge.tsx
import React from 'react';
type BadgeVariant = 'success' | 'warning' | 'danger' | 'default';
interface BadgeProps {
children: React.ReactNode;
variant?: BadgeVariant;
className?: string;
}
const variantStyles: Record<BadgeVariant, string> = {
success: 'bg-green-50 text-green-700 border-green-200',
warning: 'bg-yellow-50 text-yellow-700 border-yellow-200',
danger: 'bg-red-50 text-red-700 border-red-200',
default: 'bg-gray-50 text-gray-700 border-gray-200',
};
export function Badge({
children,
variant = 'default',
className,
}: BadgeProps) {
return (
<span
className={`px-2 py-1 text-xs font-medium rounded-lg border inline-block ${variantStyles[variant]} ${className || ''}`}
>
{children}
</span>
);
}