Files
Neon-Desk/components/ui/status-pill.tsx

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-[#525861] bg-[#262a30] text-[#c0c7d0]',
running: 'border-[#686e77] bg-[#2d3137] text-[#d8dde4]',
completed: 'border-[#7b828c] bg-[#353a42] text-[#eef2f6]',
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>
);
}