22 lines
658 B
TypeScript
22 lines
658 B
TypeScript
import { cn } from '@/lib/utils';
|
|
import type { TaskStatus } from '@/lib/types';
|
|
|
|
type StatusPillProps = {
|
|
status: TaskStatus;
|
|
};
|
|
|
|
const classes: Record<TaskStatus, string> = {
|
|
queued: 'border-[#33587a] bg-[#0a2c3f] text-[#7ecaf5]',
|
|
running: 'border-[#4f7a33] bg-[#0f311d] text-[#99f085]',
|
|
completed: 'border-[#1a7a53] bg-[#083a2a] text-[#8bf7cb]',
|
|
failed: 'border-[#8f3d3d] bg-[#431616] text-[#ff9c9c]'
|
|
};
|
|
|
|
export function StatusPill({ status }: StatusPillProps) {
|
|
return (
|
|
<span className={cn('inline-flex items-center rounded-full border px-2 py-1 text-xs uppercase tracking-[0.16em]', classes[status])}>
|
|
{status}
|
|
</span>
|
|
);
|
|
}
|