mirror of
https://github.com/langgenius/dify.git
synced 2026-05-05 18:08:07 +08:00
fix(web): skip top warning for no-provider state and remove unused i18n key
The empty state card below already prompts users to install a provider, so the top warning bar is redundant for the no-provider case. Remove the unused noProviderInstalled i18n key and replace the lookup map with a ternary to preserve i18n literal types without assertions.
This commit is contained in:
@ -161,7 +161,7 @@ describe('ModelProviderPage', () => {
|
||||
})
|
||||
|
||||
describe('system model config status', () => {
|
||||
it('should show no-provider warning when no configured providers exist', () => {
|
||||
it('should not show top warning when no configured providers exist (empty state card handles it)', () => {
|
||||
mockProviders.splice(0, mockProviders.length, {
|
||||
provider: 'anthropic',
|
||||
label: { en_US: 'Anthropic' },
|
||||
@ -174,7 +174,8 @@ describe('ModelProviderPage', () => {
|
||||
})
|
||||
|
||||
render(<ModelProviderPage searchText="" />)
|
||||
expect(screen.getByText('common.modelProvider.noProviderInstalled')).toBeInTheDocument()
|
||||
expect(screen.queryByText('common.modelProvider.noProviderInstalled')).not.toBeInTheDocument()
|
||||
expect(screen.getByText('common.modelProvider.emptyProviderTitle')).toBeInTheDocument()
|
||||
})
|
||||
|
||||
it('should show none-configured warning when providers exist but no default models set', () => {
|
||||
|
||||
@ -23,12 +23,6 @@ import SystemModelSelector from './system-model-selector'
|
||||
|
||||
type SystemModelConfigStatus = 'no-provider' | 'none-configured' | 'partially-configured' | 'fully-configured'
|
||||
|
||||
const WARNING_TEXT_KEYS = {
|
||||
'no-provider': 'modelProvider.noProviderInstalled',
|
||||
'none-configured': 'modelProvider.noneConfigured',
|
||||
'partially-configured': 'modelProvider.notConfigured',
|
||||
} as const
|
||||
|
||||
type Props = {
|
||||
searchText: string
|
||||
}
|
||||
@ -94,10 +88,13 @@ const ModelProviderPage = ({ searchText }: Props) => {
|
||||
return 'partially-configured'
|
||||
return 'fully-configured'
|
||||
}, [configuredProviders, textGenerationDefaultModel, embeddingsDefaultModel, rerankDefaultModel, speech2textDefaultModel, ttsDefaultModel])
|
||||
const showWarning = !isDefaultModelLoading && systemModelConfigStatus !== 'fully-configured'
|
||||
const warningTextKey = systemModelConfigStatus !== 'fully-configured'
|
||||
? WARNING_TEXT_KEYS[systemModelConfigStatus]
|
||||
: undefined
|
||||
const warningTextKey
|
||||
= systemModelConfigStatus === 'none-configured'
|
||||
? 'modelProvider.noneConfigured'
|
||||
: systemModelConfigStatus === 'partially-configured'
|
||||
? 'modelProvider.notConfigured'
|
||||
: null
|
||||
const showWarning = !isDefaultModelLoading && !!warningTextKey
|
||||
|
||||
const [filteredConfiguredProviders, filteredNotConfiguredProviders] = useMemo(() => {
|
||||
const filteredConfiguredProviders = configuredProviders.filter(
|
||||
|
||||
Reference in New Issue
Block a user