From f5e8650df729acf4a00748613371ca27cd1a595d Mon Sep 17 00:00:00 2001 From: ciregenz Date: Sat, 23 May 2026 12:48:32 -0700 Subject: [PATCH] [eric] tree: group Tools into cards/dialogs/hooks --- frontend/src/app/pages/Tools/Tools.tsx | 16 ++++++++-------- .../Tools/{ => cards}/BrowserPermissionCard.tsx | 0 .../pages/Tools/{ => cards}/CustomToolCard.tsx | 2 +- .../Tools/{ => cards}/CustomToolConnect.tsx | 2 +- .../Tools/{ => cards}/CustomToolDevInfo.tsx | 0 .../Tools/{ => cards}/IntegrationGalleryCard.tsx | 2 +- .../app/pages/Tools/{ => cards}/ServiceGroup.tsx | 2 +- .../app/pages/Tools/{ => cards}/ToolSection.tsx | 2 +- .../Tools/{ => dialogs}/McpConfigDialog.tsx | 2 +- .../{ => dialogs}/RegistryBrowserDialog.tsx | 2 +- .../Tools/{ => dialogs}/RegistryServerRow.tsx | 2 +- .../pages/Tools/{ => dialogs}/ToolDialogs.tsx | 4 ++-- .../Tools/{ => hooks}/useBuiltinSections.ts | 0 .../Tools/{ => hooks}/useRegistryBrowser.ts | 2 +- .../Tools/{ => hooks}/useToolConnections.ts | 2 +- .../pages/Tools/{ => hooks}/useToolsActions.ts | 4 ++-- 16 files changed, 22 insertions(+), 22 deletions(-) rename frontend/src/app/pages/Tools/{ => cards}/BrowserPermissionCard.tsx (100%) rename frontend/src/app/pages/Tools/{ => cards}/CustomToolCard.tsx (99%) rename frontend/src/app/pages/Tools/{ => cards}/CustomToolConnect.tsx (99%) rename frontend/src/app/pages/Tools/{ => cards}/CustomToolDevInfo.tsx (100%) rename frontend/src/app/pages/Tools/{ => cards}/IntegrationGalleryCard.tsx (98%) rename frontend/src/app/pages/Tools/{ => cards}/ServiceGroup.tsx (99%) rename frontend/src/app/pages/Tools/{ => cards}/ToolSection.tsx (99%) rename frontend/src/app/pages/Tools/{ => dialogs}/McpConfigDialog.tsx (99%) rename frontend/src/app/pages/Tools/{ => dialogs}/RegistryBrowserDialog.tsx (99%) rename frontend/src/app/pages/Tools/{ => dialogs}/RegistryServerRow.tsx (99%) rename frontend/src/app/pages/Tools/{ => dialogs}/ToolDialogs.tsx (99%) rename frontend/src/app/pages/Tools/{ => hooks}/useBuiltinSections.ts (100%) rename frontend/src/app/pages/Tools/{ => hooks}/useRegistryBrowser.ts (99%) rename frontend/src/app/pages/Tools/{ => hooks}/useToolConnections.ts (99%) rename frontend/src/app/pages/Tools/{ => hooks}/useToolsActions.ts (98%) diff --git a/frontend/src/app/pages/Tools/Tools.tsx b/frontend/src/app/pages/Tools/Tools.tsx index 4590687f..cfb3bc83 100644 --- a/frontend/src/app/pages/Tools/Tools.tsx +++ b/frontend/src/app/pages/Tools/Tools.tsx @@ -31,14 +31,14 @@ import { Skeleton } from '@/app/components/Loading'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; import { Integration, INTEGRATIONS } from './integrations'; import { CATEGORY_ORDER } from './toolsHelpers'; -import ToolSection from './ToolSection'; -import BrowserPermissionCard from './BrowserPermissionCard'; -import RegistryBrowserDialog from './RegistryBrowserDialog'; -import ToolDialogs from './ToolDialogs'; -import CustomToolCard from './CustomToolCard'; -import IntegrationGalleryCard from './IntegrationGalleryCard'; -import { useToolsActions } from './useToolsActions'; -import { useBuiltinSections } from './useBuiltinSections'; +import ToolSection from './cards/ToolSection'; +import BrowserPermissionCard from './cards/BrowserPermissionCard'; +import RegistryBrowserDialog from './dialogs/RegistryBrowserDialog'; +import ToolDialogs from './dialogs/ToolDialogs'; +import CustomToolCard from './cards/CustomToolCard'; +import IntegrationGalleryCard from './cards/IntegrationGalleryCard'; +import { useToolsActions } from './hooks/useToolsActions'; +import { useBuiltinSections } from './hooks/useBuiltinSections'; const Tools: React.FC = () => { const c = useClaudeTokens(); diff --git a/frontend/src/app/pages/Tools/BrowserPermissionCard.tsx b/frontend/src/app/pages/Tools/cards/BrowserPermissionCard.tsx similarity index 100% rename from frontend/src/app/pages/Tools/BrowserPermissionCard.tsx rename to frontend/src/app/pages/Tools/cards/BrowserPermissionCard.tsx diff --git a/frontend/src/app/pages/Tools/CustomToolCard.tsx b/frontend/src/app/pages/Tools/cards/CustomToolCard.tsx similarity index 99% rename from frontend/src/app/pages/Tools/CustomToolCard.tsx rename to frontend/src/app/pages/Tools/cards/CustomToolCard.tsx index c4768603..ce30031c 100644 --- a/frontend/src/app/pages/Tools/CustomToolCard.tsx +++ b/frontend/src/app/pages/Tools/cards/CustomToolCard.tsx @@ -23,7 +23,7 @@ import SecurityIcon from '@mui/icons-material/Security'; import RefreshIcon from '@mui/icons-material/Refresh'; import { ToolDefinition } from '@/shared/state/toolsSlice'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import { Integration } from './integrations'; +import { Integration } from '../integrations'; import ServiceGroup from './ServiceGroup'; import CustomToolDevInfo from './CustomToolDevInfo'; import CustomToolConnect from './CustomToolConnect'; diff --git a/frontend/src/app/pages/Tools/CustomToolConnect.tsx b/frontend/src/app/pages/Tools/cards/CustomToolConnect.tsx similarity index 99% rename from frontend/src/app/pages/Tools/CustomToolConnect.tsx rename to frontend/src/app/pages/Tools/cards/CustomToolConnect.tsx index b84b5cde..6adca560 100644 --- a/frontend/src/app/pages/Tools/CustomToolConnect.tsx +++ b/frontend/src/app/pages/Tools/cards/CustomToolConnect.tsx @@ -6,7 +6,7 @@ import LinkIcon from '@mui/icons-material/Link'; import CheckCircleIcon from '@mui/icons-material/CheckCircle'; import { ToolDefinition } from '@/shared/state/toolsSlice'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import { Integration } from './integrations'; +import { Integration } from '../integrations'; interface CustomToolConnectProps { tool: ToolDefinition; diff --git a/frontend/src/app/pages/Tools/CustomToolDevInfo.tsx b/frontend/src/app/pages/Tools/cards/CustomToolDevInfo.tsx similarity index 100% rename from frontend/src/app/pages/Tools/CustomToolDevInfo.tsx rename to frontend/src/app/pages/Tools/cards/CustomToolDevInfo.tsx diff --git a/frontend/src/app/pages/Tools/IntegrationGalleryCard.tsx b/frontend/src/app/pages/Tools/cards/IntegrationGalleryCard.tsx similarity index 98% rename from frontend/src/app/pages/Tools/IntegrationGalleryCard.tsx rename to frontend/src/app/pages/Tools/cards/IntegrationGalleryCard.tsx index 61f3bad5..5b1bcbc1 100644 --- a/frontend/src/app/pages/Tools/IntegrationGalleryCard.tsx +++ b/frontend/src/app/pages/Tools/cards/IntegrationGalleryCard.tsx @@ -8,7 +8,7 @@ import CircularProgress from '@mui/material/CircularProgress'; import Switch from '@mui/material/Switch'; import OpenInNewIcon from '@mui/icons-material/OpenInNew'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import { Integration } from './integrations'; +import { Integration } from '../integrations'; interface IntegrationGalleryCardProps { integration: Integration; diff --git a/frontend/src/app/pages/Tools/ServiceGroup.tsx b/frontend/src/app/pages/Tools/cards/ServiceGroup.tsx similarity index 99% rename from frontend/src/app/pages/Tools/ServiceGroup.tsx rename to frontend/src/app/pages/Tools/cards/ServiceGroup.tsx index 9d35499a..aa919af7 100644 --- a/frontend/src/app/pages/Tools/ServiceGroup.tsx +++ b/frontend/src/app/pages/Tools/cards/ServiceGroup.tsx @@ -13,7 +13,7 @@ import VisibilityIcon from '@mui/icons-material/Visibility'; import PanToolIcon from '@mui/icons-material/PanTool'; import { ToolDefinition } from '@/shared/state/toolsSlice'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import { Integration } from './integrations'; +import { Integration } from '../integrations'; const toDisplayName = (name: string, serviceName?: string) => { let display = name.replace(/_/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase()); diff --git a/frontend/src/app/pages/Tools/ToolSection.tsx b/frontend/src/app/pages/Tools/cards/ToolSection.tsx similarity index 99% rename from frontend/src/app/pages/Tools/ToolSection.tsx rename to frontend/src/app/pages/Tools/cards/ToolSection.tsx index f5c036a3..03f42fc5 100644 --- a/frontend/src/app/pages/Tools/ToolSection.tsx +++ b/frontend/src/app/pages/Tools/cards/ToolSection.tsx @@ -22,7 +22,7 @@ import PanToolIcon from '@mui/icons-material/PanTool'; import CallSplitIcon from '@mui/icons-material/CallSplit'; import { BuiltinTool } from '@/shared/state/toolsSlice'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import { CATEGORY_ORDER } from './toolsHelpers'; +import { CATEGORY_ORDER } from '../toolsHelpers'; interface ToolSectionProps { label: string; diff --git a/frontend/src/app/pages/Tools/McpConfigDialog.tsx b/frontend/src/app/pages/Tools/dialogs/McpConfigDialog.tsx similarity index 99% rename from frontend/src/app/pages/Tools/McpConfigDialog.tsx rename to frontend/src/app/pages/Tools/dialogs/McpConfigDialog.tsx index 97dadec3..e353e8c7 100644 --- a/frontend/src/app/pages/Tools/McpConfigDialog.tsx +++ b/frontend/src/app/pages/Tools/dialogs/McpConfigDialog.tsx @@ -15,7 +15,7 @@ import Avatar from '@mui/material/Avatar'; import ExtensionIcon from '@mui/icons-material/Extension'; import { McpServer } from '@/shared/state/mcpRegistrySlice'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import { cleanServerName } from './toolsHelpers'; +import { cleanServerName } from '../toolsHelpers'; interface McpConfigDialogProps { open: boolean; diff --git a/frontend/src/app/pages/Tools/RegistryBrowserDialog.tsx b/frontend/src/app/pages/Tools/dialogs/RegistryBrowserDialog.tsx similarity index 99% rename from frontend/src/app/pages/Tools/RegistryBrowserDialog.tsx rename to frontend/src/app/pages/Tools/dialogs/RegistryBrowserDialog.tsx index 1d61ca10..3649f55b 100644 --- a/frontend/src/app/pages/Tools/RegistryBrowserDialog.tsx +++ b/frontend/src/app/pages/Tools/dialogs/RegistryBrowserDialog.tsx @@ -24,7 +24,7 @@ import { McpServer, McpServerDetail } from '@/shared/state/mcpRegistrySlice'; import { ToolDefinition } from '@/shared/state/toolsSlice'; import { Skeleton } from '@/app/components/Loading'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import { cleanServerName } from './toolsHelpers'; +import { cleanServerName } from '../toolsHelpers'; import RegistryServerRow from './RegistryServerRow'; interface RegistryBrowserDialogProps { diff --git a/frontend/src/app/pages/Tools/RegistryServerRow.tsx b/frontend/src/app/pages/Tools/dialogs/RegistryServerRow.tsx similarity index 99% rename from frontend/src/app/pages/Tools/RegistryServerRow.tsx rename to frontend/src/app/pages/Tools/dialogs/RegistryServerRow.tsx index a7f876fa..a0955b26 100644 --- a/frontend/src/app/pages/Tools/RegistryServerRow.tsx +++ b/frontend/src/app/pages/Tools/dialogs/RegistryServerRow.tsx @@ -16,7 +16,7 @@ import PublicIcon from '@mui/icons-material/Public'; import CheckCircleIcon from '@mui/icons-material/CheckCircle'; import { McpServer, McpServerDetail } from '@/shared/state/mcpRegistrySlice'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import { cleanServerName } from './toolsHelpers'; +import { cleanServerName } from '../toolsHelpers'; interface RegistryServerRowProps { srv: McpServer; diff --git a/frontend/src/app/pages/Tools/ToolDialogs.tsx b/frontend/src/app/pages/Tools/dialogs/ToolDialogs.tsx similarity index 99% rename from frontend/src/app/pages/Tools/ToolDialogs.tsx rename to frontend/src/app/pages/Tools/dialogs/ToolDialogs.tsx index f2f86c2b..b27b26da 100644 --- a/frontend/src/app/pages/Tools/ToolDialogs.tsx +++ b/frontend/src/app/pages/Tools/dialogs/ToolDialogs.tsx @@ -12,8 +12,8 @@ import CheckCircleIcon from '@mui/icons-material/CheckCircle'; import LinkIcon from '@mui/icons-material/Link'; import { McpServer } from '@/shared/state/mcpRegistrySlice'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import { Integration } from './integrations'; -import { ToolForm } from './toolsHelpers'; +import { Integration } from '../integrations'; +import { ToolForm } from '../toolsHelpers'; import McpConfigDialog from './McpConfigDialog'; interface ToolDialogsProps { diff --git a/frontend/src/app/pages/Tools/useBuiltinSections.ts b/frontend/src/app/pages/Tools/hooks/useBuiltinSections.ts similarity index 100% rename from frontend/src/app/pages/Tools/useBuiltinSections.ts rename to frontend/src/app/pages/Tools/hooks/useBuiltinSections.ts diff --git a/frontend/src/app/pages/Tools/useRegistryBrowser.ts b/frontend/src/app/pages/Tools/hooks/useRegistryBrowser.ts similarity index 99% rename from frontend/src/app/pages/Tools/useRegistryBrowser.ts rename to frontend/src/app/pages/Tools/hooks/useRegistryBrowser.ts index c1515fc0..a311b0b3 100644 --- a/frontend/src/app/pages/Tools/useRegistryBrowser.ts +++ b/frontend/src/app/pages/Tools/hooks/useRegistryBrowser.ts @@ -2,7 +2,7 @@ import { useCallback, useRef, useState } from 'react'; import { useAppDispatch } from '@/shared/hooks'; import { createTool, discoverTools } from '@/shared/state/toolsSlice'; import { searchRegistry, fetchRegistryStats, McpServer } from '@/shared/state/mcpRegistrySlice'; -import { ToolForm, serverToToolForm, serverToMcpConfig } from './toolsHelpers'; +import { ToolForm, serverToToolForm, serverToMcpConfig } from '../toolsHelpers'; type Snackbar = { open: boolean; message: string; severity?: 'success' | 'error' }; type RegSource = '' | 'community' | 'google' | 'curated'; diff --git a/frontend/src/app/pages/Tools/useToolConnections.ts b/frontend/src/app/pages/Tools/hooks/useToolConnections.ts similarity index 99% rename from frontend/src/app/pages/Tools/useToolConnections.ts rename to frontend/src/app/pages/Tools/hooks/useToolConnections.ts index 5687e0bf..68ca30ea 100644 --- a/frontend/src/app/pages/Tools/useToolConnections.ts +++ b/frontend/src/app/pages/Tools/hooks/useToolConnections.ts @@ -11,7 +11,7 @@ import { ToolDefinition, } from '@/shared/state/toolsSlice'; import { API_BASE } from '@/shared/config'; -import { Integration } from './integrations'; +import { Integration } from '../integrations'; type Snackbar = { open: boolean; message: string; severity?: 'success' | 'error' }; diff --git a/frontend/src/app/pages/Tools/useToolsActions.ts b/frontend/src/app/pages/Tools/hooks/useToolsActions.ts similarity index 98% rename from frontend/src/app/pages/Tools/useToolsActions.ts rename to frontend/src/app/pages/Tools/hooks/useToolsActions.ts index 39fb142c..5b0d1ba6 100644 --- a/frontend/src/app/pages/Tools/useToolsActions.ts +++ b/frontend/src/app/pages/Tools/hooks/useToolsActions.ts @@ -10,8 +10,8 @@ import { BuiltinTool, } from '@/shared/state/toolsSlice'; import { McpServer } from '@/shared/state/mcpRegistrySlice'; -import { ToolForm, emptyForm } from './toolsHelpers'; -import { Integration } from './integrations'; +import { ToolForm, emptyForm } from '../toolsHelpers'; +import { Integration } from '../integrations'; import { useToolConnections } from './useToolConnections'; import { useRegistryBrowser } from './useRegistryBrowser';