@@ -3,6 +3,7 @@ import React, { useEffect, useRef, useState } from 'react'
33import { Button } from './button'
44import { SegmentedControl } from './segmented-control'
55import { useTheme } from '../hooks/use-theme'
6+ import { useChatStore } from '../state/chat-store'
67import { AGENT_MODES } from '../utils/constants'
78import { BORDER_CHARS } from '../utils/ui-constants'
89
@@ -156,10 +157,13 @@ export const AgentModeToggle = ({
156157 onSelectMode ?: ( mode : AgentMode ) => void
157158} ) => {
158159 const theme = useTheme ( )
160+ const inputFocused = useChatStore ( ( state ) => state . inputFocused )
159161 const [ isCollapsedHovered , setIsCollapsedHovered ] = useState ( false )
160162 const hoverToggle = useHoverToggle ( )
161163
162164 const handleMouseOver = ( ) => {
165+ // Don't open on hover if terminal is not focused
166+ if ( ! inputFocused ) return
163167 hoverToggle . clearCloseTimer ( )
164168 hoverToggle . scheduleOpen ( )
165169 }
@@ -199,11 +203,14 @@ export const AgentModeToggle = ({
199203 customBorderChars : BORDER_CHARS ,
200204 } }
201205 onClick = { ( ) => {
206+ if ( ! inputFocused ) return
202207 hoverToggle . clearAllTimers ( )
203208 hoverToggle . openNow ( )
204209 } }
205210 onMouseOver = { ( ) => {
206- setIsCollapsedHovered ( true )
211+ if ( inputFocused ) {
212+ setIsCollapsedHovered ( true )
213+ }
207214 handleMouseOver ( )
208215 } }
209216 onMouseOut = { handleMouseOut }
0 commit comments