import type { FC } from 'react' import { useTranslation } from 'react-i18next' import type { CustomConfigrationModelFixedFields, ModelItem, ModelProvider, } from '../declarations' import { ConfigurateMethodEnum, ModelStatusEnum, } from '../declarations' import { useLanguage } from '../hooks' import ModelIcon from '../model-icon' import ModelName from '../model-name' // import Tab from './tab' import AddModelButton from './add-model-button' import Indicator from '@/app/components/header/indicator' import { Settings01 } from '@/app/components/base/icons/src/vender/line/general' import { ChevronDownDouble } from '@/app/components/base/icons/src/vender/line/arrows' import Button from '@/app/components/base/button' type ModelListProps = { provider: ModelProvider models: ModelItem[] onCollapse: () => void onConfig: (currentCustomConfigrationModelFixedFields?: CustomConfigrationModelFixedFields) => void } const ModelList: FC = ({ provider, models, onCollapse, onConfig, }) => { const { t } = useTranslation() const language = useLanguage() const configurateMethods = provider.configurate_methods.filter(method => method !== ConfigurateMethodEnum.fetchFromRemote) const canCustomConfig = configurateMethods.includes(ConfigurateMethodEnum.customizableModel) // const canSystemConfig = configurateMethods.includes(ConfigurateMethodEnum.predefinedModel) return (
{t('common.modelProvider.modelsNum', { num: models.length })} {/* { canCustomConfig && canSystemConfig && ( {}} /> ) } */} { canCustomConfig && (
onConfig()} />
) }
{ models.map(model => (
{ model.fetch_from === ConfigurateMethodEnum.customizableModel && ( ) }
)) }
) } export default ModelList