306cb24c70
- Add getUnifiedEvaluationResults API function - Extend ReviewPointsListProps with flowType, scoredResults, scoredSummary - Add ScoredResultCard rendering for graphrag flow_type - Modify reviews.tsx loader to call unified API - Add scored evaluation component imports Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import React from 'react';
|
|
|
|
interface FieldResultItem {
|
|
field_path: string;
|
|
evaluation_as: string;
|
|
weight: number;
|
|
scored: number;
|
|
status: string; // 'filled' | 'placeholder'
|
|
value: string;
|
|
page?: string;
|
|
ai_feedback?: string;
|
|
}
|
|
|
|
interface FieldResultListProps {
|
|
items: FieldResultItem[];
|
|
}
|
|
|
|
export function FieldResultList({ items }: FieldResultListProps) {
|
|
return (
|
|
<div className="field-result-list">
|
|
{items.map((item) => (
|
|
<div
|
|
key={item.field_path}
|
|
className={`field-result-item field-result-item--${item.status}`}
|
|
>
|
|
<div className="field-result-item__header">
|
|
<span className="field-result-item__name">
|
|
{item.status === 'filled' ? '✅' : '⚠️'} {item.evaluation_as}
|
|
</span>
|
|
<span className="field-result-item__score">
|
|
{item.scored}/{item.weight}
|
|
</span>
|
|
</div>
|
|
<div className="field-result-item__value">
|
|
{item.value}
|
|
</div>
|
|
{item.ai_feedback && (
|
|
<div className="field-result-item__feedback">
|
|
💬 {item.ai_feedback}
|
|
</div>
|
|
)}
|
|
</div>
|
|
))}
|
|
</div>
|
|
);
|
|
}
|