diff --git a/site/src/pages/AISettingsPage/ModelsPage/AddModelPage/AddModelPageView.stories.tsx b/site/src/pages/AISettingsPage/ModelsPage/AddModelPage/AddModelPageView.stories.tsx index 901a886817..3abb15dc36 100644 --- a/site/src/pages/AISettingsPage/ModelsPage/AddModelPage/AddModelPageView.stories.tsx +++ b/site/src/pages/AISettingsPage/ModelsPage/AddModelPage/AddModelPageView.stories.tsx @@ -3,6 +3,7 @@ import { expect, fn, userEvent, within } from "storybook/test"; import { withToaster } from "#/testHelpers/storybook"; import { MockAnthropicProviderState, + MockCopilotProviderState, MockOpenAIProviderState, } from "../testFixtures"; import AddModelPageView from "./AddModelPageView"; @@ -54,6 +55,19 @@ export const WebSearchDependentFields: Story = { }, }; +export const NoProviderConfigurationFields: Story = { + args: { + providerStates: [MockCopilotProviderState], + selectedProviderState: MockCopilotProviderState, + }, + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + expect( + canvas.queryByRole("button", { name: /provider configuration/i }), + ).not.toBeInTheDocument(); + }, +}; + export const ProviderNotFound: Story = { args: { selectedProviderState: null }, play: async ({ canvasElement }) => { diff --git a/site/src/pages/AISettingsPage/ModelsPage/components/ModelFormFields.tsx b/site/src/pages/AISettingsPage/ModelsPage/components/ModelFormFields.tsx index da1e3a1da6..86d44e16b9 100644 --- a/site/src/pages/AISettingsPage/ModelsPage/components/ModelFormFields.tsx +++ b/site/src/pages/AISettingsPage/ModelsPage/components/ModelFormFields.tsx @@ -2,6 +2,7 @@ import type { FormikContextType } from "formik"; import { ChevronDownIcon, ChevronRightIcon, InfoIcon } from "lucide-react"; import type { FC, ReactNode } from "react"; import { Link } from "react-router"; +import { getVisibleProviderFields } from "#/api/chatModelOptions"; import type * as TypesGen from "#/api/typesGenerated"; import { Button } from "#/components/Button/Button"; import { Checkbox } from "#/components/Checkbox/Checkbox"; @@ -132,6 +133,9 @@ export const ModelFormFields: FC<{ showAdvanced, setShowAdvanced, }) => { + const hasProviderConfigFields = + getVisibleProviderFields(selectedProviderState.provider).length > 0; + return (
- - - + {hasProviderConfigFields && ( + + + + )}