fix: create new provider should not have previous settings (#5166)

This commit is contained in:
Louis 2025-06-02 15:56:11 +07:00 committed by GitHub
parent 302ebc0a72
commit ae6d343d19
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -17,6 +17,8 @@ import { Button } from '@/components/ui/button'
import { useCallback, useState } from 'react' import { useCallback, useState } from 'react'
import { openAIProviderSettings } from '@/mock/data' import { openAIProviderSettings } from '@/mock/data'
import ProvidersAvatar from '@/containers/ProvidersAvatar' import ProvidersAvatar from '@/containers/ProvidersAvatar'
import cloneDeep from 'lodash/cloneDeep'
import { toast } from 'sonner'
const ProvidersMenu = ({ const ProvidersMenu = ({
stepSetupRemoteProvider, stepSetupRemoteProvider,
@ -28,14 +30,21 @@ const ProvidersMenu = ({
const matches = useMatches() const matches = useMatches()
const [name, setName] = useState('') const [name, setName] = useState('')
const createProvider = useCallback(() => { const createProvider = useCallback(() => {
addProvider({ if (providers.some((e) => e.provider === name)) {
toast.error(
`Provider with name "${name}" already exists. Please choose a different name.`
)
return
}
const newProvider = {
provider: name, provider: name,
active: true, active: true,
models: [], models: [],
settings: openAIProviderSettings as ProviderSetting[], settings: cloneDeep(openAIProviderSettings) as ProviderSetting[],
api_key: '', api_key: '',
base_url: 'https://api.openai.com/v1', base_url: 'https://api.openai.com/v1',
}) }
addProvider(newProvider)
setTimeout(() => { setTimeout(() => {
navigate({ navigate({
to: route.settings.providers, to: route.settings.providers,
@ -44,7 +53,7 @@ const ProvidersMenu = ({
}, },
}) })
}, 0) }, 0)
}, [name, addProvider, navigate]) }, [providers, name, addProvider, navigate])
return ( return (
<div className="w-44 py-2 border-r border-main-view-fg/5 pb-10 overflow-y-auto"> <div className="w-44 py-2 border-r border-main-view-fg/5 pb-10 overflow-y-auto">