diff --git a/webview-ui/src/components/settings/ApiOptions.tsx b/webview-ui/src/components/settings/ApiOptions.tsx
index 38d2ceebd37..977822cac3c 100644
--- a/webview-ui/src/components/settings/ApiOptions.tsx
+++ b/webview-ui/src/components/settings/ApiOptions.tsx
@@ -448,7 +448,11 @@ const ApiOptions = ({
)}
{selectedProvider === "gemini" && (
-
+
)}
{selectedProvider === "openai" && (
diff --git a/webview-ui/src/components/settings/providers/Gemini.tsx b/webview-ui/src/components/settings/providers/Gemini.tsx
index eadafb81e6a..ec2e19353c3 100644
--- a/webview-ui/src/components/settings/providers/Gemini.tsx
+++ b/webview-ui/src/components/settings/providers/Gemini.tsx
@@ -12,9 +12,10 @@ import { inputEventTransform } from "../transforms"
type GeminiProps = {
apiConfiguration: ProviderSettings
setApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void
+ fromWelcomeView?: boolean
}
-export const Gemini = ({ apiConfiguration, setApiConfigurationField }: GeminiProps) => {
+export const Gemini = ({ apiConfiguration, setApiConfigurationField, fromWelcomeView }: GeminiProps) => {
const { t } = useAppTranslation()
const [googleGeminiBaseUrlSelected, setGoogleGeminiBaseUrlSelected] = useState(
@@ -73,26 +74,30 @@ export const Gemini = ({ apiConfiguration, setApiConfigurationField }: GeminiPro
/>
)}
- setApiConfigurationField("enableUrlContext", checked)}>
- {t("settings:providers.geminiParameters.urlContext.title")}
-
-
- {t("settings:providers.geminiParameters.urlContext.description")}
-
+ {!fromWelcomeView && (
+ <>
+ setApiConfigurationField("enableUrlContext", checked)}>
+ {t("settings:providers.geminiParameters.urlContext.title")}
+
+
+ {t("settings:providers.geminiParameters.urlContext.description")}
+
- setApiConfigurationField("enableGrounding", checked)}>
- {t("settings:providers.geminiParameters.groundingSearch.title")}
-
-
- {t("settings:providers.geminiParameters.groundingSearch.description")}
-
+ setApiConfigurationField("enableGrounding", checked)}>
+ {t("settings:providers.geminiParameters.groundingSearch.title")}
+
+
+ {t("settings:providers.geminiParameters.groundingSearch.description")}
+
+ >
+ )}
>
)
diff --git a/webview-ui/src/components/settings/providers/__tests__/Gemini.spec.tsx b/webview-ui/src/components/settings/providers/__tests__/Gemini.spec.tsx
index cc3f4bd9f04..eaa540c5fb2 100644
--- a/webview-ui/src/components/settings/providers/__tests__/Gemini.spec.tsx
+++ b/webview-ui/src/components/settings/providers/__tests__/Gemini.spec.tsx
@@ -127,4 +127,51 @@ describe("Gemini", () => {
expect(mockSetApiConfigurationField).toHaveBeenCalledWith("enableGrounding", true)
})
})
+
+ describe("fromWelcomeView prop", () => {
+ it("should hide URL context and grounding checkboxes when fromWelcomeView is true, but keep custom base URL", () => {
+ render(
+ ,
+ )
+
+ // Should still render custom base URL checkbox
+ expect(screen.getByTestId("checkbox-custom-base-url")).toBeInTheDocument()
+ // Should not render URL context and grounding checkboxes
+ expect(screen.queryByTestId("checkbox-url-context")).not.toBeInTheDocument()
+ expect(screen.queryByTestId("checkbox-grounding-search")).not.toBeInTheDocument()
+ })
+
+ it("should show all checkboxes when fromWelcomeView is false", () => {
+ render(
+ ,
+ )
+
+ // Should render all checkboxes
+ expect(screen.getByTestId("checkbox-custom-base-url")).toBeInTheDocument()
+ expect(screen.getByTestId("checkbox-url-context")).toBeInTheDocument()
+ expect(screen.getByTestId("checkbox-grounding-search")).toBeInTheDocument()
+ })
+
+ it("should show all checkboxes when fromWelcomeView is undefined (default behavior)", () => {
+ render(
+ ,
+ )
+
+ // Should render all checkboxes (default behavior)
+ expect(screen.getByTestId("checkbox-custom-base-url")).toBeInTheDocument()
+ expect(screen.getByTestId("checkbox-url-context")).toBeInTheDocument()
+ expect(screen.getByTestId("checkbox-grounding-search")).toBeInTheDocument()
+ })
+ })
})