diff --git a/package.json b/package.json index 569186b..bf79989 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "workflow-observer", - "version": "0.9.6", + "version": "0.9.7", "private": false, "type": "module", "scripts": { diff --git a/src/client/main.tsx b/src/client/main.tsx index 4fd8cd0..1ad3879 100644 --- a/src/client/main.tsx +++ b/src/client/main.tsx @@ -786,13 +786,18 @@ function RunDetail({ const [phase, setPhase] = useState( r.agents.find((a) => a.state === "running")?.phase ?? r.phases[0]?.title ?? "", ); - const [agent, setAgent] = useState( - r.agents.find((a) => a.state === "running")?.id ?? r.agents[0]?.id ?? "", - ); + const [expandedAgents, setExpandedAgents] = useState>({}); const [activityQuery, setActivityQuery] = useState(""); const [activityAgent, setActivityAgent] = useState("all"); const [eventLimit, setEventLimit] = useState(60); + const agent = expandedAgents[phase]; const selected = r.agents.find((a) => a.id === agent); + const toggleAgent = (a: Agent) => { + setExpandedAgents((current) => ({ + ...current, + [a.phase]: current[a.phase] === a.id ? undefined : a.id, + })); + }; const events = r.agents .flatMap((a) => a.events) .filter( @@ -969,10 +974,7 @@ function RunDetail({ @@ -1114,7 +1117,7 @@ function RunDetail({ onClick={() => { setTab("overview"); setPhase(a.phase); - setAgent(a.id); + setExpandedAgents((current) => ({ ...current, [a.phase]: a.id })); }} > {a.label}