import { useQuery } from "@tanstack/react-query"; import { ShieldCheck } from "lucide-react"; import { taskBriefApi } from "@/api/taskBriefs"; import { ConfigSubpageHeader } from "@/components/ai-config/ConfigSubpageHeader"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"; export default function ContractSyncBoardPage() { const syncQuery = useQuery({ queryKey: ["task-brief-contract-sync"], queryFn: () => taskBriefApi.getContractSyncStatus(), }); const data = syncQuery.data; const files = data?.files || []; const errorText = syncQuery.error instanceof Error ? syncQuery.error.message : "请检查后端服务。"; return (
} tone="amber" meta={ 状态: {syncQuery.isLoading ? "检查中" : syncQuery.isError ? "检查失败" : data?.all_synced ? "已同步" : "存在缺失"} } /> 契约文件明细 缺失项会直接影响跨端协作与回归可靠性。 {syncQuery.isLoading ? (

加载中...

) : syncQuery.isError ? (

同步状态读取失败:{errorText}

) : files.length === 0 ? (

暂无契约文件记录。

) : (
文件 存在性 更新时间 {files.map((item) => ( {item.file} {item.exists ? "已存在" : "缺失"} {item.updated_at || "-"} ))}
)}
); }