SPB Git

spb/autoscholar

Public
1.6 KB · 49 lines tsx
1const COLORS: Record<string, string> = {2  published: "var(--color-ok-500)",3  corrected: "var(--color-info-500)",4  retracted: "var(--color-danger-500)",5  running: "var(--color-info-500)",6  provisioning: "var(--color-info-500)",7  queued: "var(--color-stone-500)",8  validated: "var(--color-stone-500)",9  draft: "var(--color-stone-400)",10  quality_check: "var(--color-warn-500)",11  quality_failed: "var(--color-danger-500)",12  revising: "var(--color-warn-500)",13  ready_to_publish: "var(--color-ok-500)",14  awaiting_approval: "var(--color-warn-500)",15  publishing: "var(--color-ok-500)",16  cancelling: "var(--color-warn-500)",17  cancelled: "var(--color-stone-500)",18  failed: "var(--color-danger-500)",19  retrying: "var(--color-warn-500)",20  online: "var(--color-ok-500)",21  offline: "var(--color-stone-500)",22  draining: "var(--color-warn-500)",23  quarantined: "var(--color-danger-500)",24  disabled: "var(--color-stone-400)",25  pass: "var(--color-ok-500)",26  fail: "var(--color-danger-500)",27  warn: "var(--color-warn-500)",28  skip: "var(--color-stone-400)",29  completed: "var(--color-ok-500)",30  pending: "var(--color-stone-400)",31  blocker: "var(--color-danger-500)",32  major: "var(--color-warn-500)",33  minor: "var(--color-stone-500)",34};3536export function StatusBadge({ status }: { status: string }) {37  const c = COLORS[status] ?? "var(--color-stone-500)";38  return (39    <span className="badge" style={{ color: c, borderColor: `color-mix(in oklab, ${c} 45%, transparent)` }}>40      <span41        aria-hidden="true"42        className="mr-1 inline-block h-1.5 w-1.5 rounded-full"43        style={{ background: c }}44      />45      {status.replace(/_/g, " ")}46    </span>47  );48}49
Files · 87b4e55c3b9fbcc2cd191a1e469b33de0a24ccc8
Menu

Theme