← Files NGS Analysis WorkbenchARCHIVED FILE
src/report/ReportArtifacts.tsx
1.8 KB · Sep 30, 2026 · 23:20 UTC
import { Chip } from "../design-system/Chip";
import styles from "./AnalysisReport.module.css";
import { ReportArtifactRow } from "./ReportArtifactRow";
import type { ReportArtifact } from "./types";
export function ReportArtifacts({
reviewArtifacts,
outputArtifacts,
runDirectory,
onOpenArtifact,
}: {
reviewArtifacts: ReportArtifact[];
outputArtifacts: ReportArtifact[];
runDirectory: string;
onOpenArtifact?: (artifact: ReportArtifact) => void | Promise<void>;
}) {
return (
<>
{reviewArtifacts.length ? (
<section
className={styles.section}
aria-labelledby="report-review-heading"
>
<div className={styles.sectionHeading}>
<div>
<h3 id="report-review-heading">Review</h3>
</div>
</div>
<div className={styles.reviewList}>
{reviewArtifacts.map((artifact) => (
<ReportArtifactRow
artifact={artifact}
key={artifact.id}
onOpen={onOpenArtifact}
runDirectory={runDirectory}
/>
))}
</div>
</section>
) : null}
<section
className={styles.section}
aria-labelledby="report-outputs-heading"
>
<div className={styles.sectionHeading}>
<div>
<h3 id="report-outputs-heading">Key outputs</h3>
</div>
<Chip>{outputArtifacts.length}</Chip>
</div>
<div className={styles.artifactList}>
{outputArtifacts.map((artifact) => (
<ReportArtifactRow
artifact={artifact}
key={artifact.id}
onOpen={onOpenArtifact}
runDirectory={runDirectory}
/>
))}
</div>
</section>
</>
);
}
SHA-256: 7f314a6e3586f8b2c9d7713e5ea6ac246b5c83d5a8ad17b23ecca80916088fa9