import { useState } from "react"; import type { InstanceRawLogs } from "../types"; import * as api from "../api"; interface Props { dsId: string; instanceId: string; } export function StepDetail({ dsId, instanceId }: Props) { const [logs, setLogs] = useState(null); const [loading, setLoading] = useState(false); const [activeTab, setActiveTab] = useState< "agent_stdout" | "setup_stderr" | "verifier_report" | "verifier_stdout" >("agent_stdout"); const loadLogs = async () => { setLoading(true); try { const data = await api.getInstanceRaw(dsId, instanceId); setLogs(data); } catch { // ignore } setLoading(false); }; if (!logs) { return (
); } const tabs = [ { key: "agent_stdout" as const, label: "Agent Stdout", content: logs.agent_stdout }, { key: "setup_stderr" as const, label: "Setup Stderr", content: logs.setup_stderr }, { key: "verifier_report" as const, label: "Verifier Report", content: logs.verifier_report }, { key: "verifier_stdout" as const, label: "Verifier Stdout", content: logs.verifier_stdout }, ].filter((t) => t.content); return (
{tabs.map((tab) => ( ))}
          {tabs.find((t) => t.key === activeTab)?.content || "No content"}
        
); }