import { useMemo, useState } from 'react'; import type { AgentCategory, AgentProvider } from '../../../types/types'; import AgentCategoryContentSection from './sections/AgentCategoryContentSection'; import AgentCategoryTabsSection from './sections/AgentCategoryTabsSection'; import AgentSelectorSection from './sections/AgentSelectorSection'; import type { AgentContext, AgentsSettingsTabProps } from './types'; export default function AgentsSettingsTab({ providerAuthStatus, onProviderLogin, claudePermissions, onClaudePermissionsChange, cursorPermissions, onCursorPermissionsChange, codexPermissionMode, onCodexPermissionModeChange, geminiPermissionMode, onGeminiPermissionModeChange, mcpServers, cursorMcpServers, codexMcpServers, mcpTestResults, mcpServerTools, mcpToolsLoading, deleteError, onOpenMcpForm, onDeleteMcpServer, onTestMcpServer, onDiscoverMcpTools, onOpenCodexMcpForm, onDeleteCodexMcpServer, }: AgentsSettingsTabProps) { const [selectedAgent, setSelectedAgent] = useState('claude'); const [selectedCategory, setSelectedCategory] = useState('account'); const agentContextById = useMemo>(() => ({ claude: { authStatus: providerAuthStatus.claude, onLogin: () => onProviderLogin('claude'), }, cursor: { authStatus: providerAuthStatus.cursor, onLogin: () => onProviderLogin('cursor'), }, codex: { authStatus: providerAuthStatus.codex, onLogin: () => onProviderLogin('codex'), }, gemini: { authStatus: providerAuthStatus.gemini, onLogin: () => onProviderLogin('gemini'), }, }), [ onProviderLogin, providerAuthStatus.claude, providerAuthStatus.codex, providerAuthStatus.cursor, providerAuthStatus.gemini, ]); return (
); }