From 4f1ef0bae631eb7637eac7886e705e819a04d361 Mon Sep 17 00:00:00 2001 From: ciregenz Date: Sat, 23 May 2026 12:41:54 -0700 Subject: [PATCH] [eric] tree: group ChatInput into hooks/model-picker/view/toolbar --- frontend/src/app/pages/AgentChat/ChatInput.tsx | 16 ++++++++-------- .../ChatInput/{ => hooks}/draftStore.ts | 0 .../ChatInput/{ => hooks}/pasteCards.ts | 0 .../ChatInput/{ => hooks}/slashCommands.ts | 0 .../ChatInput/{ => hooks}/useChatInputModel.ts | 2 +- .../ChatInput/{ => hooks}/useContextFiles.ts | 4 ++-- .../ChatInput/{ => hooks}/useEditorHandlers.ts | 2 +- .../ChatInput/{ => hooks}/useImageAttachments.ts | 2 +- .../ChatInput/{ => hooks}/useModelPicker.ts | 2 +- .../{ => model-picker}/ModelPickerFooter.tsx | 0 .../{ => model-picker}/ModelPickerHeader.tsx | 0 .../{ => model-picker}/ModelPickerList.tsx | 2 +- .../{ => model-picker}/ModelPickerMenu.tsx | 0 .../{ => model-picker}/ModelPickerRecents.tsx | 0 .../ChatInput/{ => model-picker}/modelPicker.ts | 0 .../{ => model-picker}/modelTooltip.tsx | 0 .../app/pages/AgentChat/ChatInput/sendHelpers.ts | 2 +- .../ChatInput/{ => toolbar}/ChatInputToolbar.tsx | 4 ++-- .../ChatInput/{ => toolbar}/ContextRing.tsx | 2 +- .../ChatInput/{ => toolbar}/ModeControl.tsx | 0 .../{ => toolbar}/ThinkingLevelControl.tsx | 0 .../ChatInput/{ => toolbar}/ToolbarActions.tsx | 0 .../ChatInput/{ => view}/AttachmentChips.tsx | 4 ++-- .../ChatInput/{ => view}/ChatInputOverlays.tsx | 2 +- .../ChatInput/{ => view}/ChatInputView.tsx | 8 ++++---- .../ChatInput/{ => view}/EditorSurface.tsx | 0 .../ChatInput/{ => view}/SendBlockBanner.tsx | 2 +- 27 files changed, 27 insertions(+), 27 deletions(-) rename frontend/src/app/pages/AgentChat/ChatInput/{ => hooks}/draftStore.ts (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => hooks}/pasteCards.ts (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => hooks}/slashCommands.ts (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => hooks}/useChatInputModel.ts (97%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => hooks}/useContextFiles.ts (98%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => hooks}/useEditorHandlers.ts (99%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => hooks}/useImageAttachments.ts (97%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => hooks}/useModelPicker.ts (99%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => model-picker}/ModelPickerFooter.tsx (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => model-picker}/ModelPickerHeader.tsx (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => model-picker}/ModelPickerList.tsx (99%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => model-picker}/ModelPickerMenu.tsx (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => model-picker}/ModelPickerRecents.tsx (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => model-picker}/modelPicker.ts (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => model-picker}/modelTooltip.tsx (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => toolbar}/ChatInputToolbar.tsx (97%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => toolbar}/ContextRing.tsx (96%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => toolbar}/ModeControl.tsx (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => toolbar}/ThinkingLevelControl.tsx (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => toolbar}/ToolbarActions.tsx (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => view}/AttachmentChips.tsx (98%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => view}/ChatInputOverlays.tsx (99%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => view}/ChatInputView.tsx (97%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => view}/EditorSurface.tsx (100%) rename frontend/src/app/pages/AgentChat/ChatInput/{ => view}/SendBlockBanner.tsx (98%) diff --git a/frontend/src/app/pages/AgentChat/ChatInput.tsx b/frontend/src/app/pages/AgentChat/ChatInput.tsx index 44cc062f..7c886b76 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput.tsx @@ -6,15 +6,15 @@ import { serializeEditorContent, AttachedSkill } from '@/app/components/richEdit import { useAppDispatch, useAppSelector } from '@/shared/hooks'; import { fetchModes } from '@/shared/state/modesSlice'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import { useChatInputModel } from './ChatInput/useChatInputModel'; -import { useDraftLoad, deleteDraft, loadDraft } from './ChatInput/draftStore'; -import { handleSlashCommand } from './ChatInput/slashCommands'; +import { useChatInputModel } from './ChatInput/hooks/useChatInputModel'; +import { useDraftLoad, deleteDraft, loadDraft } from './ChatInput/hooks/draftStore'; +import { handleSlashCommand } from './ChatInput/hooks/slashCommands'; import { materializeImages, appendSelectedElements, computeSendBlock } from './ChatInput/sendHelpers'; -import { useImageAttachments } from './ChatInput/useImageAttachments'; -import { useContextFiles } from './ChatInput/useContextFiles'; -import { useModelPicker } from './ChatInput/useModelPicker'; -import { useEditorHandlers } from './ChatInput/useEditorHandlers'; -import { ChatInputView } from './ChatInput/ChatInputView'; +import { useImageAttachments } from './ChatInput/hooks/useImageAttachments'; +import { useContextFiles } from './ChatInput/hooks/useContextFiles'; +import { useModelPicker } from './ChatInput/hooks/useModelPicker'; +import { useEditorHandlers } from './ChatInput/hooks/useEditorHandlers'; +import { ChatInputView } from './ChatInput/view/ChatInputView'; import { ICON_MAP, FALLBACK_MODE_BASE } from './ChatInput/modeConfig'; import { AttachedImage, ForcedToolGroup, ChatInputHandle } from './ChatInput/types'; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/draftStore.ts b/frontend/src/app/pages/AgentChat/ChatInput/hooks/draftStore.ts similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/draftStore.ts rename to frontend/src/app/pages/AgentChat/ChatInput/hooks/draftStore.ts diff --git a/frontend/src/app/pages/AgentChat/ChatInput/pasteCards.ts b/frontend/src/app/pages/AgentChat/ChatInput/hooks/pasteCards.ts similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/pasteCards.ts rename to frontend/src/app/pages/AgentChat/ChatInput/hooks/pasteCards.ts diff --git a/frontend/src/app/pages/AgentChat/ChatInput/slashCommands.ts b/frontend/src/app/pages/AgentChat/ChatInput/hooks/slashCommands.ts similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/slashCommands.ts rename to frontend/src/app/pages/AgentChat/ChatInput/hooks/slashCommands.ts diff --git a/frontend/src/app/pages/AgentChat/ChatInput/useChatInputModel.ts b/frontend/src/app/pages/AgentChat/ChatInput/hooks/useChatInputModel.ts similarity index 97% rename from frontend/src/app/pages/AgentChat/ChatInput/useChatInputModel.ts rename to frontend/src/app/pages/AgentChat/ChatInput/hooks/useChatInputModel.ts index 71e1f6d9..807ba670 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/useChatInputModel.ts +++ b/frontend/src/app/pages/AgentChat/ChatInput/hooks/useChatInputModel.ts @@ -1,6 +1,6 @@ import { useMemo } from 'react'; import { useAppSelector } from '@/shared/hooks'; -import { sortModelsForPicker } from './modelPicker'; +import { sortModelsForPicker } from '../model-picker/modelPicker'; const FALLBACK_MODELS = [ { value: 'sonnet', label: 'Claude Sonnet 4.6', context_window: 1_000_000, reasoning: true }, diff --git a/frontend/src/app/pages/AgentChat/ChatInput/useContextFiles.ts b/frontend/src/app/pages/AgentChat/ChatInput/hooks/useContextFiles.ts similarity index 98% rename from frontend/src/app/pages/AgentChat/ChatInput/useContextFiles.ts rename to frontend/src/app/pages/AgentChat/ChatInput/hooks/useContextFiles.ts index fc63395d..a8c09bbd 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/useContextFiles.ts +++ b/frontend/src/app/pages/AgentChat/ChatInput/hooks/useContextFiles.ts @@ -1,8 +1,8 @@ import { useState, useCallback, useEffect, useMemo } from 'react'; import { ContextPath } from '@/app/components/DirectoryBrowser'; import { API_BASE, getAuthToken } from '@/shared/config'; -import { ForcedToolGroup } from './types'; -import { basename } from './helpers'; +import { ForcedToolGroup } from '../types'; +import { basename } from '../helpers'; export type SendBlock = null | { estimate: number; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/useEditorHandlers.ts b/frontend/src/app/pages/AgentChat/ChatInput/hooks/useEditorHandlers.ts similarity index 99% rename from frontend/src/app/pages/AgentChat/ChatInput/useEditorHandlers.ts rename to frontend/src/app/pages/AgentChat/ChatInput/hooks/useEditorHandlers.ts index d04e383c..91b4b9ab 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/useEditorHandlers.ts +++ b/frontend/src/app/pages/AgentChat/ChatInput/hooks/useEditorHandlers.ts @@ -14,7 +14,7 @@ import { clearSessionMessages } from '@/shared/state/agentsSlice'; import { scheduleDraftSave } from './draftStore'; import { handleSlashCommand } from './slashCommands'; import { tryPasteClipboardCards } from './pasteCards'; -import { ForcedToolGroup } from './types'; +import { ForcedToolGroup } from '../types'; type Skill = { id: string; name: string; content: string }; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/useImageAttachments.ts b/frontend/src/app/pages/AgentChat/ChatInput/hooks/useImageAttachments.ts similarity index 97% rename from frontend/src/app/pages/AgentChat/ChatInput/useImageAttachments.ts rename to frontend/src/app/pages/AgentChat/ChatInput/hooks/useImageAttachments.ts index 107b7e53..0d92e551 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/useImageAttachments.ts +++ b/frontend/src/app/pages/AgentChat/ChatInput/hooks/useImageAttachments.ts @@ -1,5 +1,5 @@ import { useState, useRef, useCallback, useEffect } from 'react'; -import { AttachedImage } from './types'; +import { AttachedImage } from '../types'; export function useImageAttachments() { const [images, setImages] = useState([]); diff --git a/frontend/src/app/pages/AgentChat/ChatInput/useModelPicker.ts b/frontend/src/app/pages/AgentChat/ChatInput/hooks/useModelPicker.ts similarity index 99% rename from frontend/src/app/pages/AgentChat/ChatInput/useModelPicker.ts rename to frontend/src/app/pages/AgentChat/ChatInput/hooks/useModelPicker.ts index 30313cae..6c2b3f04 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/useModelPicker.ts +++ b/frontend/src/app/pages/AgentChat/ChatInput/hooks/useModelPicker.ts @@ -11,7 +11,7 @@ import { COST_STEPS, readLS, writeLS, -} from './modelPicker'; +} from '../model-picker/modelPicker'; type CapFilters = { reasoning: boolean; subscription: boolean; apiKey: boolean }; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ModelPickerFooter.tsx b/frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerFooter.tsx similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/ModelPickerFooter.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerFooter.tsx diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ModelPickerHeader.tsx b/frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerHeader.tsx similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/ModelPickerHeader.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerHeader.tsx diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ModelPickerList.tsx b/frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerList.tsx similarity index 99% rename from frontend/src/app/pages/AgentChat/ChatInput/ModelPickerList.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerList.tsx index da5b70da..b06f2f5d 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/ModelPickerList.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerList.tsx @@ -8,7 +8,7 @@ import Collapse from '@mui/material/Collapse'; import KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight'; import { ClaudeTokens } from '@/shared/styles/claudeTokens'; import { PROVIDER_COLORS, OR_AUTO_COLLAPSE_THRESHOLD } from './modelPicker'; -import { formatTokenCount } from './helpers'; +import { formatTokenCount } from '../helpers'; import { ModelPickerRecents } from './ModelPickerRecents'; interface Props { diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ModelPickerMenu.tsx b/frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerMenu.tsx similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/ModelPickerMenu.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerMenu.tsx diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ModelPickerRecents.tsx b/frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerRecents.tsx similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/ModelPickerRecents.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/model-picker/ModelPickerRecents.tsx diff --git a/frontend/src/app/pages/AgentChat/ChatInput/modelPicker.ts b/frontend/src/app/pages/AgentChat/ChatInput/model-picker/modelPicker.ts similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/modelPicker.ts rename to frontend/src/app/pages/AgentChat/ChatInput/model-picker/modelPicker.ts diff --git a/frontend/src/app/pages/AgentChat/ChatInput/modelTooltip.tsx b/frontend/src/app/pages/AgentChat/ChatInput/model-picker/modelTooltip.tsx similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/modelTooltip.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/model-picker/modelTooltip.tsx diff --git a/frontend/src/app/pages/AgentChat/ChatInput/sendHelpers.ts b/frontend/src/app/pages/AgentChat/ChatInput/sendHelpers.ts index 303e179d..41fd0c09 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/sendHelpers.ts +++ b/frontend/src/app/pages/AgentChat/ChatInput/sendHelpers.ts @@ -2,7 +2,7 @@ import { SelectedElement } from '@/app/components/ElementSelectionContext'; import { getWebview } from '@/shared/browserRegistry'; import { ContextPath } from '@/app/components/DirectoryBrowser'; import { AttachedImage } from './types'; -import { SendBlock } from './useContextFiles'; +import { SendBlock } from './hooks/useContextFiles'; type OutImage = { data: string; media_type: string }; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ChatInputToolbar.tsx b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ChatInputToolbar.tsx similarity index 97% rename from frontend/src/app/pages/AgentChat/ChatInput/ChatInputToolbar.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/toolbar/ChatInputToolbar.tsx index d769cc6c..46bc2a74 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/ChatInputToolbar.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ChatInputToolbar.tsx @@ -4,10 +4,10 @@ import { useElementSelection } from '@/app/components/ElementSelectionContext'; import { ClaudeTokens } from '@/shared/styles/claudeTokens'; import { ContextRing } from './ContextRing'; import { ModeControl } from './ModeControl'; -import { ModelPickerMenu } from './ModelPickerMenu'; +import { ModelPickerMenu } from '../model-picker/ModelPickerMenu'; import { ThinkingLevelControl } from './ThinkingLevelControl'; import { ToolbarActions } from './ToolbarActions'; -import { ModelPickerState } from './useModelPicker'; +import { ModelPickerState } from '../hooks/useModelPicker'; type ThinkingLevel = 'off' | 'low' | 'medium' | 'high' | 'auto'; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ContextRing.tsx b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ContextRing.tsx similarity index 96% rename from frontend/src/app/pages/AgentChat/ChatInput/ContextRing.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/toolbar/ContextRing.tsx index b1c8f8f0..0eea0bda 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/ContextRing.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ContextRing.tsx @@ -1,7 +1,7 @@ import React from 'react'; import Box from '@mui/material/Box'; import Tooltip from '@mui/material/Tooltip'; -import { formatTokenCount } from './helpers'; +import { formatTokenCount } from '../helpers'; export const ContextRing: React.FC<{ used: number; limit: number; accentColor: string; trackColor: string }> = ({ used, limit, accentColor, trackColor }) => { if (used === 0) return null; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ModeControl.tsx b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ModeControl.tsx similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/ModeControl.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/toolbar/ModeControl.tsx diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ThinkingLevelControl.tsx b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ThinkingLevelControl.tsx similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/ThinkingLevelControl.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/toolbar/ThinkingLevelControl.tsx diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ToolbarActions.tsx b/frontend/src/app/pages/AgentChat/ChatInput/toolbar/ToolbarActions.tsx similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/ToolbarActions.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/toolbar/ToolbarActions.tsx diff --git a/frontend/src/app/pages/AgentChat/ChatInput/AttachmentChips.tsx b/frontend/src/app/pages/AgentChat/ChatInput/view/AttachmentChips.tsx similarity index 98% rename from frontend/src/app/pages/AgentChat/ChatInput/AttachmentChips.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/view/AttachmentChips.tsx index e6aa0648..9ae7f239 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/AttachmentChips.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/view/AttachmentChips.tsx @@ -11,8 +11,8 @@ import { getToolGroupIcon } from '@/app/components/CommandPicker'; import { SelectedElement } from '@/app/components/ElementSelectionContext'; import { ContextPath } from '@/app/components/DirectoryBrowser'; import { ClaudeTokens } from '@/shared/styles/claudeTokens'; -import { AttachedImage, ForcedToolGroup } from './types'; -import { formatTokenCount, pathTail } from './helpers'; +import { AttachedImage, ForcedToolGroup } from '../types'; +import { formatTokenCount, pathTail } from '../helpers'; interface ElementSelectionLike { removeOwnerElement: (ownerId: string, id: string) => void; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ChatInputOverlays.tsx b/frontend/src/app/pages/AgentChat/ChatInput/view/ChatInputOverlays.tsx similarity index 99% rename from frontend/src/app/pages/AgentChat/ChatInput/ChatInputOverlays.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/view/ChatInputOverlays.tsx index a388b8d9..d73f13d0 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/ChatInputOverlays.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/view/ChatInputOverlays.tsx @@ -6,7 +6,7 @@ import Snackbar from '@mui/material/Snackbar'; import Alert from '@mui/material/Alert'; import CloseIcon from '@mui/icons-material/Close'; import { ClaudeTokens } from '@/shared/styles/claudeTokens'; -import { formatTokenCount } from './helpers'; +import { formatTokenCount } from '../helpers'; interface Props { c: ClaudeTokens; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/ChatInputView.tsx b/frontend/src/app/pages/AgentChat/ChatInput/view/ChatInputView.tsx similarity index 97% rename from frontend/src/app/pages/AgentChat/ChatInput/ChatInputView.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/view/ChatInputView.tsx index 7defc520..a1a85ff6 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/ChatInputView.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/view/ChatInputView.tsx @@ -9,13 +9,13 @@ import { SelectedElement } from '@/app/components/ElementSelectionContext'; import { ContextPath } from '@/app/components/DirectoryBrowser'; import { ClaudeTokens } from '@/shared/styles/claudeTokens'; import { TriggerState } from '@/app/components/richEditorUtils'; -import { AttachedImage, ForcedToolGroup } from './types'; -import { SendBlock } from './useContextFiles'; -import { ModelPickerState } from './useModelPicker'; +import { AttachedImage, ForcedToolGroup } from '../types'; +import { SendBlock } from '../hooks/useContextFiles'; +import { ModelPickerState } from '../hooks/useModelPicker'; import { SendBlockBanner } from './SendBlockBanner'; import { AttachmentChips } from './AttachmentChips'; import { EditorSurface } from './EditorSurface'; -import { ChatInputToolbar } from './ChatInputToolbar'; +import { ChatInputToolbar } from '../toolbar/ChatInputToolbar'; import { ChatInputOverlays } from './ChatInputOverlays'; type ThinkingLevel = 'off' | 'low' | 'medium' | 'high' | 'auto'; diff --git a/frontend/src/app/pages/AgentChat/ChatInput/EditorSurface.tsx b/frontend/src/app/pages/AgentChat/ChatInput/view/EditorSurface.tsx similarity index 100% rename from frontend/src/app/pages/AgentChat/ChatInput/EditorSurface.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/view/EditorSurface.tsx diff --git a/frontend/src/app/pages/AgentChat/ChatInput/SendBlockBanner.tsx b/frontend/src/app/pages/AgentChat/ChatInput/view/SendBlockBanner.tsx similarity index 98% rename from frontend/src/app/pages/AgentChat/ChatInput/SendBlockBanner.tsx rename to frontend/src/app/pages/AgentChat/ChatInput/view/SendBlockBanner.tsx index 7af54fd0..8df1074d 100644 --- a/frontend/src/app/pages/AgentChat/ChatInput/SendBlockBanner.tsx +++ b/frontend/src/app/pages/AgentChat/ChatInput/view/SendBlockBanner.tsx @@ -4,7 +4,7 @@ import Typography from '@mui/material/Typography'; import { ContextPath } from '@/app/components/DirectoryBrowser'; import { API_BASE, getAuthToken } from '@/shared/config'; import { ClaudeTokens } from '@/shared/styles/claudeTokens'; -import { SendBlock } from './useContextFiles'; +import { SendBlock } from '../hooks/useContextFiles'; interface Props { sendBlock: NonNullable;