1import type { PullRequestStack } from "@t3tools/contracts";
2import { cn } from "~/lib/utils";
3import { resolvePullRequestState } from "./pullRequestPresentation";
4
5export function PullRequestStackLayerContent({
6 layer,
7 compact = false,
8}: {
9 layer: PullRequestStack["layers"][number];
10 compact?: boolean;
11}) {
12 const state = resolvePullRequestState({
13 state: layer.state,
14 isDraft: layer.isDraft ?? false,
15 });
16 return (
17 <>
18 <state.Icon aria-hidden className={cn("size-4 shrink-0", state.toneClassName)} />
19 <span className="min-w-0 flex-1">
20 <span className="block truncate">{layer.title || layer.headBranch}</span>
21 <span className="block truncate text-xs font-normal text-muted-foreground">
22 #{layer.number} · {compact ? null : `${layer.headBranch} · `}
23 {state.label}
24 </span>
25 </span>
26 </>
27 );
28}