diff --git a/src/components/chat/view/subcomponents/AssistantThinkingIndicator.tsx b/src/components/chat/view/subcomponents/AssistantThinkingIndicator.tsx new file mode 100644 index 0000000..d466e66 --- /dev/null +++ b/src/components/chat/view/subcomponents/AssistantThinkingIndicator.tsx @@ -0,0 +1,33 @@ +import SessionProviderLogo from "../../../SessionProviderLogo"; +import { Provider } from "../../types/types"; + +export default function AssistantThinkingIndicator() { + const selectedProvider = (localStorage.getItem('selected-provider') || 'claude') as Provider; + + return ( +
+
+
+
+ +
+
+ {selectedProvider === 'cursor' ? 'Cursor' : selectedProvider === 'codex' ? 'Codex' : 'Claude'} +
+
+
+
+
.
+
+ . +
+
+ . +
+ Thinking... +
+
+
+
+ ); +} \ No newline at end of file diff --git a/src/components/chat/view/subcomponents/ChatMessagesPane.tsx b/src/components/chat/view/subcomponents/ChatMessagesPane.tsx index 5177d55..261273b 100644 --- a/src/components/chat/view/subcomponents/ChatMessagesPane.tsx +++ b/src/components/chat/view/subcomponents/ChatMessagesPane.tsx @@ -1,11 +1,12 @@ import { useTranslation } from 'react-i18next'; import { useCallback, useRef } from 'react'; import type { Dispatch, RefObject, SetStateAction } from 'react'; -import SessionProviderLogo from '../../../SessionProviderLogo'; + import MessageComponent from './MessageComponent'; import ProviderSelectionEmptyState from './ProviderSelectionEmptyState'; import type { ChatMessage, Provider } from '../../types/types'; import type { Project, ProjectSession } from '../../../../types/app'; +import AssistantThinkingIndicator from './AssistantThinkingIndicator'; interface ChatMessagesPaneProps { scrollContainerRef: RefObject; @@ -82,36 +83,7 @@ const getIntrinsicMessageKey = (message: ChatMessage): string | null => { return `message-${message.type}-${timestamp}-${toolName}-${contentPreview}`; }; -function AssistantThinkingIndicator() { - const selectedProvider = (localStorage.getItem('selected-provider') || 'claude') as Provider; - return ( -
-
-
-
- -
-
- {selectedProvider === 'cursor' ? 'Cursor' : selectedProvider === 'codex' ? 'Codex' : 'Claude'} -
-
-
-
-
.
-
- . -
-
- . -
- Thinking... -
-
-
-
- ); -} export default function ChatMessagesPane({ scrollContainerRef,