diff --git a/src/renderer/src/components/settings-section-provider-models.test.ts b/src/renderer/src/components/settings-section-provider-models.test.ts index 41ae467d4..eb583f081 100644 --- a/src/renderer/src/components/settings-section-provider-models.test.ts +++ b/src/renderer/src/components/settings-section-provider-models.test.ts @@ -81,6 +81,30 @@ describe('ProviderModelsManager', () => { expect(html).toContain('Default profile') }) + it('keeps model names on a separate row from compact capability badges', () => { + const html = renderManager(provider({ + models: ['deepseek-v4-pro'], + modelProfiles: { + 'deepseek-v4-pro': { + contextWindowTokens: 1_000_000, + inputModalities: ['text', 'image'], + outputModalities: ['text'], + supportsToolCalling: true, + messageParts: ['text', 'image_url'], + reasoning: { + supportedEfforts: ['off', 'high'], + defaultEffort: 'high', + requestProtocol: 'deepseek-chat-completions' + } + } + } + })) + + expect(html).toContain('grid min-w-0 flex-1 gap-1.5') + expect(html).toContain('flex min-w-0 flex-wrap items-center gap-1') + expect(html).toContain('text-[10.5px]') + }) + it('exposes the complete model name on hover for truncated rows', () => { const longModelId = 'MiniMax-Text-01-very-long-model-name-with-extra-tags-and-context' const html = renderManager(provider({ models: [longModelId] })) diff --git a/src/renderer/src/components/settings-section-provider-models.tsx b/src/renderer/src/components/settings-section-provider-models.tsx index eff954f6e..f05b50ae1 100644 --- a/src/renderer/src/components/settings-section-provider-models.tsx +++ b/src/renderer/src/components/settings-section-provider-models.tsx @@ -191,7 +191,7 @@ function ModelBadge({ ? 'border-ds-border-muted bg-transparent text-ds-faint' : 'border-ds-border-muted bg-ds-main/60 text-ds-muted' return ( - + {icon} {children} @@ -200,7 +200,7 @@ function ModelBadge({ function ModelName({ modelId }: { modelId: string }): ReactElement { return ( - + {modelId}