import { useTranslation } from 'react-i18next'; import SessionProviderLogo from '../../../../llm-logo-provider/SessionProviderLogo'; import type { AgentProvider, AuthStatus } from '../../../types/types'; type AgentListItemProps = { agentId: AgentProvider; authStatus: AuthStatus; isSelected: boolean; onClick: () => void; isMobile?: boolean; }; type AgentConfig = { name: string; color: 'blue' | 'purple' | 'gray' | 'indigo'; }; const agentConfig: Record = { claude: { name: 'Claude', color: 'blue', }, cursor: { name: 'Cursor', color: 'purple', }, codex: { name: 'Codex', color: 'gray', }, gemini: { name: 'Gemini', color: 'indigo', } }; const colorClasses = { blue: { border: 'border-l-blue-500 md:border-l-blue-500', borderBottom: 'border-b-blue-500', bg: 'bg-blue-50 dark:bg-blue-900/20', dot: 'bg-blue-500', }, purple: { border: 'border-l-purple-500 md:border-l-purple-500', borderBottom: 'border-b-purple-500', bg: 'bg-purple-50 dark:bg-purple-900/20', dot: 'bg-purple-500', }, gray: { border: 'border-l-gray-700 dark:border-l-gray-300', borderBottom: 'border-b-gray-700 dark:border-b-gray-300', bg: 'bg-gray-100 dark:bg-gray-800/50', dot: 'bg-gray-700 dark:bg-gray-300', }, indigo: { border: 'border-l-indigo-500 md:border-l-indigo-500', borderBottom: 'border-b-indigo-500', bg: 'bg-indigo-50 dark:bg-indigo-900/20', dot: 'bg-indigo-500', }, } as const; export default function AgentListItem({ agentId, authStatus, isSelected, onClick, isMobile = false, }: AgentListItemProps) { const { t } = useTranslation('settings'); const config = agentConfig[agentId]; const colors = colorClasses[config.color]; if (isMobile) { return ( ); } return ( ); }