diff --git a/src/renderer/src/pages/home/Tabs/AssistantsTab.tsx b/src/renderer/src/pages/home/Tabs/AssistantsTab.tsx index 1f94cb2b..0167f9bc 100644 --- a/src/renderer/src/pages/home/Tabs/AssistantsTab.tsx +++ b/src/renderer/src/pages/home/Tabs/AssistantsTab.tsx @@ -149,9 +149,9 @@ const Assistants: FC = ({ onSwitchAssistant(assistant)} className={isCurrent ? 'active' : ''}> {assistant.name || t('chat.default.name')} {isCurrent && ( - EventEmitter.emit(EVENT_NAMES.SWITCH_TOPIC_SIDEBAR)}> + EventEmitter.emit(EVENT_NAMES.SWITCH_TOPIC_SIDEBAR)}> {assistant.topics.length} - + )} @@ -213,12 +213,12 @@ const AssistantName = styled.div` font-size: 13px; ` -const ArrowRightButton = styled.div` +const MenuButton = styled.div` display: flex; flex-direction: row; justify-content: center; align-items: center; - width: 22px; + min-width: 22px; height: 22px; min-width: 22px; min-height: 22px; diff --git a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx index 3b3f35c0..24198b50 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx @@ -11,10 +11,13 @@ import VisionIcon from '@renderer/components/Icons/VisionIcon' import { getModelLogo, isVisionModel, VISION_REGEX } from '@renderer/config/models' import { PROVIDER_CONFIG } from '@renderer/config/providers' import { useTheme } from '@renderer/context/ThemeProvider' +import { useAssistants } from '@renderer/hooks/useAssistant' import { useProvider } from '@renderer/hooks/useProvider' import i18n from '@renderer/i18n' import { isOpenAIProvider } from '@renderer/providers/ProviderFactory' import { checkApi } from '@renderer/services/ApiService' +import { useAppDispatch } from '@renderer/store' +import { setModel } from '@renderer/store/assistants' import { Model, ModelType, Provider } from '@renderer/types' import { Avatar, Button, Card, Checkbox, Divider, Flex, Input, Popover, Space, Switch } from 'antd' import Link from 'antd/es/typography/Link' @@ -49,8 +52,10 @@ const ProviderSetting: FC = ({ provider: _provider }) => { const [apiValid, setApiValid] = useState(false) const [apiChecking, setApiChecking] = useState(false) const { updateProvider, models, removeModel } = useProvider(provider.id) + const { assistants } = useAssistants() const { t } = useTranslation() const { theme } = useTheme() + const dispatch = useAppDispatch() const modelGroups = groupBy(models, 'group') @@ -133,7 +138,19 @@ const ProviderSetting: FC = ({ provider: _provider }) => { } return m }) + updateProvider({ ...provider, models: updatedModels }) + + assistants.forEach((assistant) => { + if (assistant?.model?.id === model.id && assistant.model.provider === provider.id) { + dispatch( + setModel({ + assistantId: assistant.id, + model: { ...model, type: types } + }) + ) + } + }) } const modelTypeContent = (model: Model) => (