import { Anchor, Box, Group, Text } from "@mantine/core"; import { githubReferenceAccessibleLabel, githubReferenceDisplayLabels, groupRelatedGitHubLinks, } from "../../github-links.js"; import type { GitHubLink, Task } from "../types"; export function GitHubLinks({ task }: { task: Task }) { const links = task.relatedGitHubLinks ?? []; if (links.length === 0 && !task.relatedGitHubLinksTruncated) return null; const groups = groupRelatedGitHubLinks(links) as GitHubLink[][]; const displayLabels = githubReferenceDisplayLabels(groups.flat(), { related: true }) as string[]; let linkIndex = 0; return ( {groups.map((group) => ( {group.map((link) => { const displayLabel = displayLabels[linkIndex]; linkIndex += 1; const kind = link.type === "pull" ? ", GitHub pull request" : link.type === "issue" ? ", GitHub issue" : " on GitHub"; return ( {displayLabel} ); })} ))} {task.relatedGitHubLinksTruncated && More links in task history} ); }