21 lines
448 B
TypeScript
21 lines
448 B
TypeScript
|
|
type BadgeVariant = 'draft' | 'published' | 'default'
|
||
|
|
|
||
|
|
interface BadgeProps {
|
||
|
|
variant?: BadgeVariant
|
||
|
|
children: string
|
||
|
|
}
|
||
|
|
|
||
|
|
const variantClasses: Record<BadgeVariant, string> = {
|
||
|
|
draft: 'badge-draft',
|
||
|
|
published: 'badge-published',
|
||
|
|
default: 'badge text-muted border-border',
|
||
|
|
}
|
||
|
|
|
||
|
|
export function Badge({ variant = 'default', children }: BadgeProps) {
|
||
|
|
return (
|
||
|
|
<span className={variantClasses[variant]}>
|
||
|
|
{children}
|
||
|
|
</span>
|
||
|
|
)
|
||
|
|
}
|