| import { useEffect } from 'react'; | |
| import { AgentPanelProvider, useAgentPanelContext } from '~/Providers/AgentPanelContext'; | |
| import { Panel, isEphemeralAgent } from '~/common'; | |
| import VersionPanel from './Version/VersionPanel'; | |
| import { useChatContext } from '~/Providers'; | |
| import ActionsPanel from './ActionsPanel'; | |
| import AgentPanel from './AgentPanel'; | |
| import MCPPanel from './MCPPanel'; | |
| export default function AgentPanelSwitch() { | |
| return ( | |
| <AgentPanelProvider> | |
| <AgentPanelSwitchWithContext /> | |
| </AgentPanelProvider> | |
| ); | |
| } | |
| function AgentPanelSwitchWithContext() { | |
| const { conversation } = useChatContext(); | |
| const { activePanel, setCurrentAgentId } = useAgentPanelContext(); | |
| useEffect(() => { | |
| const agent_id = conversation?.agent_id ?? ''; | |
| if (!isEphemeralAgent(agent_id)) { | |
| setCurrentAgentId(agent_id); | |
| } | |
| }, [setCurrentAgentId, conversation?.agent_id]); | |
| if (activePanel === Panel.actions) { | |
| return <ActionsPanel />; | |
| } | |
| if (activePanel === Panel.version) { | |
| return <VersionPanel />; | |
| } | |
| if (activePanel === Panel.mcp) { | |
| return <MCPPanel />; | |
| } | |
| return <AgentPanel />; | |
| } | |