ffmol-rdkit / frontend /src /components /CandidateDetail.tsx
hercules168's picture
Upload 44 files
40ad0f5 verified
Raw
History Blame Contribute Delete
1.24 kB
import { RankedCandidate } from "../api";
export function CandidateDetail({ candidate }: { candidate: RankedCandidate }) {
const metrics = Object.entries(candidate.metrics);
return (
<article className="candidate-detail">
<div className="results-heading">
<div>
<span className="eyebrow">Lead profile</span>
<h3>Candidate {candidate.rank}</h3>
</div>
<span className="count-chip">score {candidate.score}</span>
</div>
<p className="mono">{candidate.canonical_smiles}</p>
<dl>
<div>
<dt>Score</dt>
<dd>{candidate.score}</dd>
</div>
<div>
<dt>Similarity</dt>
<dd>{candidate.similarity}</dd>
</div>
</dl>
<p>{candidate.recommendation}</p>
{metrics.length > 0 && (
<table>
<thead>
<tr>
<th>Metric</th>
<th>Value</th>
</tr>
</thead>
<tbody>
{metrics.map(([name, value]) => (
<tr key={name}>
<td>{name}</td>
<td>{value}</td>
</tr>
))}
</tbody>
</table>
)}
</article>
);
}