import type { FC } from 'react' import { useTranslation } from 'react-i18next' import { useContext } from 'use-context-selector' import type { FormValue, Provider, ProviderConfigItem, ProviderWithConfig, } from '../declarations' import Indicator from '../../../indicator' import Selector from '../selector' import Quota from './Quota' import { IS_CE_EDITION } from '@/config' import I18n from '@/context/i18n' import { Plus } from '@/app/components/base/icons/src/vender/line/general' type ModelCardProps = { currentProvider?: Provider modelItem: ProviderConfigItem onOpenModal: (v?: FormValue) => void onOperate: (v: Record) => void } const ModelCard: FC = ({ currentProvider, modelItem, onOpenModal, onOperate, }) => { const { locale } = useContext(I18n) const { t } = useTranslation() const custom = currentProvider?.providers.find(p => p.provider_type === 'custom') as ProviderWithConfig return (
{modelItem.titleIcon[locale]}
{modelItem.desc?.[locale]}
{modelItem.subTitleIcon}
{ !IS_CE_EDITION && currentProvider && } { custom?.is_valid ? (
API key
onOpenModal(custom?.config)} > {t('common.operation.edit')}
) : (
onOpenModal()} >
{t('common.modelProvider.addApiKey')}
) }
) } export default ModelCard