"use client"; import { Check, EyeOff, FileX, Pencil, ShieldAlert, Sparkles, X } from "lucide-react"; import type { ReactNode } from "react"; import { api } from "@/lib/api"; import type { RawQAItem } from "@/lib/types"; import RiskBadge from "./RiskBadge"; import StatusBadge from "./StatusBadge"; function Field({ label, children }: { label: string; children: ReactNode }) { return (
{label}
{children || "-"}
); } export default function QAReviewCard({ item, onChanged }: { item: RawQAItem; onChanged: () => void }) { async function action(path: string) { await api.post(`/raw-qa/${item.id}/${path}`, {}); onChanged(); } async function editAndApprove() { const standardQuestion = window.prompt("标准问题", item.suggested_standard_question ?? item.normalized_question ?? ""); if (standardQuestion === null) return; const standardAnswer = window.prompt("标准回答", item.suggested_standard_answer ?? item.normalized_answer ?? ""); if (standardAnswer === null) return; await api.patch(`/raw-qa/${item.id}`, { suggested_standard_question: standardQuestion, suggested_standard_answer: standardAnswer }); await action("approve"); } return (
{item.qa_code} {item.need_desensitization ? ( 需脱敏 ) : null}
场次 #{item.session_id}
{item.raw_question} {item.normalized_question} {item.raw_answer} {item.normalized_answer} {item.suggested_standard_question} {item.suggested_standard_answer}
主题: {item.primary_topic}
阶段: {item.course_stage}
标签: {item.problem_tags.join("、") || "-"}
来源时间: {item.source_timestamp || "-"}
{item.risk_notes || "无风险说明"}
); }