Compare commits
1 Commits
v0.3.3-bet
...
v0.3.3-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9987a586e2 |
@@ -331,11 +331,6 @@ function getFieldLabel(key, t) {
|
|||||||
return key.replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase())
|
return key.replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase())
|
||||||
}
|
}
|
||||||
|
|
||||||
const PROVIDER_MODELS = {
|
|
||||||
minimax: ['MiniMax-M2.7', 'MiniMax-M1', 'abab6.5s-chat', 'abab6.5-chat', 'abab5.5-chat'],
|
|
||||||
zai: ['glm', 'glm-4', 'glm-4-plus', 'glm-4-flash', 'glm-3-turbo'],
|
|
||||||
}
|
|
||||||
|
|
||||||
function PanelProviders({ providers, editProvider, providerForm, setProviderForm, setEditProvider, openProviderEdit, handleSaveProvider, api, loadData, t }) {
|
function PanelProviders({ providers, editProvider, providerForm, setProviderForm, setEditProvider, openProviderEdit, handleSaveProvider, api, loadData, t }) {
|
||||||
const [validating, setValidating] = useState(null)
|
const [validating, setValidating] = useState(null)
|
||||||
const [validationStatus, setValidationStatus] = useState(null)
|
const [validationStatus, setValidationStatus] = useState(null)
|
||||||
@@ -357,14 +352,6 @@ function PanelProviders({ providers, editProvider, providerForm, setProviderForm
|
|||||||
setValidating(null)
|
setValidating(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleSelectModel = (providerName, model) => {
|
|
||||||
setProviderForm(prev => ({
|
|
||||||
...prev,
|
|
||||||
[providerName]: { ...(prev[providerName] || {}), model },
|
|
||||||
}))
|
|
||||||
setEditProvider(providerName)
|
|
||||||
}
|
|
||||||
|
|
||||||
const displayed = providers.filter(p => p.name === 'minimax' || p.name === 'zai')
|
const displayed = providers.filter(p => p.name === 'minimax' || p.name === 'zai')
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -372,8 +359,7 @@ function PanelProviders({ providers, editProvider, providerForm, setProviderForm
|
|||||||
{displayed.map((p, i) => {
|
{displayed.map((p, i) => {
|
||||||
const isEditing = editProvider === p.name
|
const isEditing = editProvider === p.name
|
||||||
const isValidationTarget = validationStatus?.provider === p.name
|
const isValidationTarget = validationStatus?.provider === p.name
|
||||||
const models = PROVIDER_MODELS[p.name] || []
|
const currentModel = providerForm[p.name]?.model || p.model
|
||||||
const selectedModel = providerForm[p.name]?.model || p.model
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div key={i} className="config-card provider-card-v2">
|
<div key={i} className="config-card provider-card-v2">
|
||||||
@@ -408,7 +394,7 @@ function PanelProviders({ providers, editProvider, providerForm, setProviderForm
|
|||||||
<button
|
<button
|
||||||
className="sm primary"
|
className="sm primary"
|
||||||
disabled={validating === p.name || !providerForm[p.name]?.api_key}
|
disabled={validating === p.name || !providerForm[p.name]?.api_key}
|
||||||
onClick={() => handleValidate(p.name, providerForm[p.name]?.api_key, selectedModel, providerForm[p.name]?.base_url)}
|
onClick={() => handleValidate(p.name, providerForm[p.name]?.api_key, currentModel, providerForm[p.name]?.base_url)}
|
||||||
>
|
>
|
||||||
{validating === p.name ? t('config.validating') : t('config.validateKey')}
|
{validating === p.name ? t('config.validating') : t('config.validateKey')}
|
||||||
</button>
|
</button>
|
||||||
@@ -417,22 +403,21 @@ function PanelProviders({ providers, editProvider, providerForm, setProviderForm
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{models.length > 0 && (
|
<div className="provider-card-meta" style={{ marginTop: 8 }}>
|
||||||
<div style={{ marginTop: 10 }}>
|
<span className="config-form-label">{t('config.model')}</span>
|
||||||
<span className="config-form-label">Modèle</span>
|
<input
|
||||||
<div className="chip-row" style={{ marginTop: 4 }}>
|
className="config-form-input"
|
||||||
{models.map(m => (
|
value={currentModel || ''}
|
||||||
<div
|
onChange={e => {
|
||||||
key={m}
|
setProviderForm(prev => ({
|
||||||
className={`chip ${selectedModel === m ? 'active' : ''}`}
|
...prev,
|
||||||
onClick={() => handleSelectModel(p.name, m)}
|
[p.name]: { ...(prev[p.name] || {}), model: e.target.value },
|
||||||
>
|
}))
|
||||||
{m}
|
setEditProvider(p.name)
|
||||||
</div>
|
}}
|
||||||
))}
|
placeholder="model-name"
|
||||||
</div>
|
/>
|
||||||
</div>
|
</div>
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user