({
event,
t,
}: {
event: RunEvent["payload"];
t: (k: string) => string;
})
| 492 | } |
| 493 | |
| 494 | function SystemEventRow({ |
| 495 | event, |
| 496 | t, |
| 497 | }: { |
| 498 | event: RunEvent["payload"]; |
| 499 | t: (k: string) => string; |
| 500 | }) { |
| 501 | const stage = String(event.stage || ""); |
| 502 | const display = systemEventDisplay(stage, event, t); |
| 503 | if (!display) return null; |
| 504 | return ( |
| 505 | <li |
| 506 | className={ |
| 507 | "flex items-start gap-2 rounded-md px-2 py-1.5 text-[11.5px] " + |
| 508 | (display.tone === "ok" |
| 509 | ? "border border-emerald-500/30 bg-emerald-500/5 text-emerald-700 dark:text-emerald-300" |
| 510 | : display.tone === "warn" |
| 511 | ? "border border-amber-500/30 bg-amber-500/5 text-amber-700 dark:text-amber-300" |
| 512 | : "bg-[var(--muted)]/40 text-[var(--muted-foreground)]") |
| 513 | } |
| 514 | > |
| 515 | <display.icon className="mt-0.5 h-3.5 w-3.5 shrink-0" /> |
| 516 | <div className="min-w-0"> |
| 517 | <div className="font-mono text-[10.5px] uppercase tracking-wide"> |
| 518 | {display.title} |
| 519 | </div> |
| 520 | {display.detail && ( |
| 521 | <div className="mt-0.5 break-words leading-snug"> |
| 522 | {display.detail} |
| 523 | </div> |
| 524 | )} |
| 525 | </div> |
| 526 | </li> |
| 527 | ); |
| 528 | } |
| 529 | |
| 530 | function systemEventDisplay( |
| 531 | stage: string, |
nothing calls this directly
no test coverage detected