fix(workbench-ui): memoize practice evidence panel model

This commit is contained in:
Shay 2026-06-23 16:01:42 -07:00
parent 0074897c7a
commit 57b82e0fb8

View file

@ -61,6 +61,10 @@ export function PracticeEvidencePanel({
() => (evidence ? JSON.stringify(evidence, null, 2) : ""),
[evidence],
);
const model = useMemo(
() => (evidence ? practiceEvidencePanelModel(evidence) : null),
[evidence],
);
if (isLoading) {
return <LoadingState label="Loading sealed practice evidence..." />;
@ -75,7 +79,7 @@ export function PracticeEvidencePanel({
/>
);
}
if (!evidence) {
if (!evidence || model === null) {
return (
<EmptyState
statement="No sealed practice evidence recorded for this turn."
@ -84,7 +88,6 @@ export function PracticeEvidencePanel({
);
}
const model = practiceEvidencePanelModel(evidence);
return (
<section className="grid gap-3" data-testid="practice-evidence-panel">
{model.emptyMessage ? (