From 77ed7e17d5ea97f7b61f4bb4175c8a61c265ea5d Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Thu, 11 Jul 2024 18:02:50 +0800 Subject: [PATCH] feat: show modal info --- .../settings/components/ModelListPopup.tsx | 33 ++++++++++++++++--- src/renderer/src/types/index.ts | 1 + src/renderer/src/utils/index.ts | 5 +++ 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/renderer/src/pages/settings/components/ModelListPopup.tsx b/src/renderer/src/pages/settings/components/ModelListPopup.tsx index d2d2118c..b2823a3a 100644 --- a/src/renderer/src/pages/settings/components/ModelListPopup.tsx +++ b/src/renderer/src/pages/settings/components/ModelListPopup.tsx @@ -1,11 +1,11 @@ -import { LoadingOutlined, MinusOutlined, PlusOutlined } from '@ant-design/icons' +import { LoadingOutlined, MinusOutlined, PlusOutlined, QuestionCircleOutlined } from '@ant-design/icons' import { SYSTEM_MODELS } from '@renderer/config/models' import { useProvider } from '@renderer/hooks/useProvider' import { fetchModels } from '@renderer/services/api' import { getModelLogo } from '@renderer/services/provider' import { Model, Provider } from '@renderer/types' -import { getDefaultGroupName, runAsyncFunction } from '@renderer/utils' -import { Avatar, Button, Empty, Flex, Modal } from 'antd' +import { getDefaultGroupName, isFreeModel, runAsyncFunction } from '@renderer/utils' +import { Avatar, Button, Empty, Flex, Modal, Tag } from 'antd' import Search from 'antd/es/input/Search' import { groupBy, isEmpty, uniqBy } from 'lodash' import { useEffect, useState } from 'react' @@ -67,7 +67,9 @@ const PopupContainer: React.FC = ({ provider: _provider, resolve }) => { // @ts-ignore name name: model.name || model.id, provider: _provider.id, - group: getDefaultGroupName(model.id) + group: getDefaultGroupName(model.id), + // @ts-ignore name + description: model?.description })) ) setLoading(false) @@ -115,7 +117,15 @@ const PopupContainer: React.FC = ({ provider: _provider, resolve }) => { {model.name[0].toUpperCase()} - {model.name} + + {model.name} + {isFreeModel(model) && ( + + Free + + )} + {!isEmpty(model.description) && onShowModelInfo(model)} />} + {hasModel ? (