Skip to content

Commit a2498da

Browse files
committed
refactor(cli): migrate UI state to ui-store
Complete the store migration by moving UI-related state to ui-store: - focusedAgentId, inputFocused, setFocusedAgentId, setInputFocused - Removes these from chat-store (now fully in ui-store) - Final step in reducing prop drilling All state now properly distributed across specialized stores: - chat-store: messages, input value, agent mode, session state - stream-store: streaming agents, chain progress - queue-store: message queue, streaming status - ui-store: UI state (focus, input) - auth-store: authentication All tests pass (231/231) and typecheck is clean.
1 parent 2ddb1d1 commit a2498da

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

cli/src/chat.tsx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import { logger } from './utils/logger'
4242
import { AnalyticsEvent } from '@codebuff/common/constants/analytics-events'
4343
import { useChatStore } from './state/chat-store'
4444
import { useStreamStore } from './state/stream-store'
45+
import { useUiStore } from './state/ui-store'
4546
import { createChatScrollAcceleration } from './utils/chat-scroll-accel'
4647
import { loadLocalAgents } from './utils/local-agent-registry'
4748
import { buildMessageTree } from './utils/message-tree-utils'
@@ -99,14 +100,10 @@ export const Chat = ({
99100
cursorPosition,
100101
lastEditDueToNav,
101102
setInputValue,
102-
inputFocused,
103-
setInputFocused,
104103
slashSelectedIndex,
105104
setSlashSelectedIndex,
106105
agentSelectedIndex,
107106
setAgentSelectedIndex,
108-
focusedAgentId,
109-
setFocusedAgentId,
110107
messages,
111108
setMessages,
112109
agentMode,
@@ -125,14 +122,10 @@ export const Chat = ({
125122
cursorPosition: store.cursorPosition,
126123
lastEditDueToNav: store.lastEditDueToNav,
127124
setInputValue: store.setInputValue,
128-
inputFocused: store.inputFocused,
129-
setInputFocused: store.setInputFocused,
130125
slashSelectedIndex: store.slashSelectedIndex,
131126
setSlashSelectedIndex: store.setSlashSelectedIndex,
132127
agentSelectedIndex: store.agentSelectedIndex,
133128
setAgentSelectedIndex: store.setAgentSelectedIndex,
134-
focusedAgentId: store.focusedAgentId,
135-
setFocusedAgentId: store.setFocusedAgentId,
136129
messages: store.messages,
137130
setMessages: store.setMessages,
138131
agentMode: store.agentMode,
@@ -158,6 +151,9 @@ export const Chat = ({
158151
setIsChainInProgress,
159152
} = useStreamStore()
160153

154+
const { focusedAgentId, setFocusedAgentId, inputFocused, setInputFocused } =
155+
useUiStore()
156+
161157
// Memoize toggle IDs extraction - only recompute when messages change
162158
const allToggleIds = useMemo(() => {
163159
const ids = new Set<string>()

0 commit comments

Comments
 (0)