import {
ChevronDown,
MessageSquare,
Cpu,
Search as SearchIcon,
Terminal,
Zap,
ToggleLeft,
ToggleRight
} from 'lucide-react'
import clsx from 'clsx'
import { maskSecret } from '../../utils/maskSecret'
export default function ConfigPanel({
t,
configExpanded,
setConfigExpanded,
models,
model,
setModel,
modelsLoaded,
streamingMode,
setStreamingMode,
selectedAccount,
setSelectedAccount,
accounts,
resolveAccountIdentifier,
apiKey,
setApiKey,
config,
customKeyActive,
customKeyManaged,
}) {
const iconMap = {
MessageSquare,
Cpu,
SearchIcon,
Terminal,
Zap,
ToggleLeft,
ToggleRight,
}
const selectedModel = models.find(m => m.id === model) || models[0]
const SelectedModelIcon = selectedModel ? (iconMap[selectedModel.icon] || MessageSquare) : MessageSquare
const defaultKeyPreview = maskSecret(config.keys?.[0])
const hasModels = models.length > 0
return (
{selectedModel ? (
{selectedModel.name}
{selectedModel.desc}
{t('apiTester.modelPickerHint')}
) : (
{modelsLoaded ? t('apiTester.noModelsHint') : t('apiTester.loadingModelsHint')}
)}
setApiKey(e.target.value)}
/>
{customKeyActive && (
{customKeyManaged ? t('apiTester.modeManaged') : t('apiTester.modeDirect')}
)}
)
}