@@ -296,10 +296,24 @@ const App: React.FC = () => {
296296 agents . setAgentsVersion ( ( prev ) => prev + 1 ) ;
297297 } , [ agents . setAgentsVersion ] ) ;
298298
299- const handleTerminalTabSelect = useCallback ( ( index : number ) => {
300- terminalPanes . selectTab ( index ) ;
299+ const activeTerminalId = useMemo ( ( ) => {
300+ const paneId = terminalPanes . activePaneId || 'terminal' ;
301+ return terminalPanes . getSelectedId ( paneId ) ;
301302 } , [ terminalPanes ] ) ;
302303
304+ const handleTerminalTabSelect = useCallback ( ( terminalId : string ) => {
305+ terminalPanes . selectTab ( terminalId ) ;
306+ } , [ terminalPanes ] ) ;
307+
308+ const handleTerminalTabClose = useCallback ( ( terminalId : string ) => {
309+ terminalPanes . closeTab ( terminalId ) ;
310+ } , [ terminalPanes ] ) ;
311+
312+ const activeToolbarAgentId = (
313+ agentPanes . getSelectedId ( agentPanes . activePaneId || 'agent' )
314+ ?? agents . selectedAgentId
315+ ) ;
316+
303317 const renderPanel = ( panelId : PanelId , panelKey : string ) => {
304318 switch ( panelId ) {
305319 case 'files' :
@@ -395,13 +409,13 @@ const App: React.FC = () => {
395409 files = { editors . files }
396410 activeFileId = { editors . activeFileId }
397411 terminals = { terminals . terminals }
398- activeTerminalIndex = { terminalPanes . getSelectedIndex ( terminalPanes . activePaneId || 'terminal' ) }
412+ activeTerminalId = { activeTerminalId }
399413 agentSessions = { sessionsArray }
400- activeAgentId = { agentPanes . getSelectedId ( agentPanes . activePaneId || 'agent' ) }
414+ activeAgentId = { activeToolbarAgentId }
401415 onSelectFile = { handleSelectFile }
402416 onCloseFile = { editors . closeFile }
403417 onSelectTerminal = { handleTerminalTabSelect }
404- onCloseTerminal = { terminalPanes . closeTab }
418+ onCloseTerminal = { handleTerminalTabClose }
405419 onSelectAgent = { agentPanes . selectFromToolbar }
406420 onCloseAgent = { agents . closeAgent }
407421 />
0 commit comments