diff --git a/e2e-tests/setup.spec.ts b/e2e-tests/setup.spec.ts
index 42e4800..f2a3e16 100644
--- a/e2e-tests/setup.spec.ts
+++ b/e2e-tests/setup.spec.ts
@@ -15,7 +15,7 @@ testSetup("setup ai provider", async ({ po }) => {
await po.page.getByRole("button", { name: "Go Back" }).click();
await po.page
- .getByRole("button", { name: "Setup OpenRouter API Key Free" })
+ .getByRole("button", { name: "Setup OpenRouter API Key" })
.click();
await expect(
po.page.getByRole("heading", { name: "Configure OpenRouter" }),
diff --git a/src/components/SetupBanner.tsx b/src/components/SetupBanner.tsx
index 7042e09..f796d11 100644
--- a/src/components/SetupBanner.tsx
+++ b/src/components/SetupBanner.tsx
@@ -8,7 +8,6 @@ import {
XCircle,
Loader2,
Settings,
- GlobeIcon,
} from "lucide-react";
import { providerSettingsRoute } from "@/routes/settings/providers/$provider";
@@ -246,47 +245,40 @@ export function SetupBanner() {
{getStatusIcon(isAnyProviderSetup())}
- 2. Setup AI Model Access
+ 2. Setup AI Access
-
- Connect your preferred AI provider to start generating code.
+
+ Not sure what to do? Watch the Get Started video above ☝️
-
- }
- title="Setup Google Gemini API Key"
- subtitle={
- <>
-
- Use Google Gemini for free
- >
- }
- />
+
+
+ }
+ title="Setup Google Gemini API Key"
+ chip={<>Free>}
+ />
-
- }
- title="Setup OpenRouter API Key"
- subtitle={
- <>
-
- Free models available
- >
- }
- />
+
+ }
+ title="Setup OpenRouter API Key"
+ chip={<>Free>}
+ />
+
}
title="Setup Dyad Pro"
- subtitle={
- <>
-
- Access all AI models with one plan
- >
- }
+ subtitle="Access all AI models with one plan"
+ chip={<>Recommended>}
/>
-
+
Setup other AI providers
- OpenAI, Anthropic, OpenRouter and more
+ OpenAI, Anthropic and more
@@ -428,7 +416,7 @@ export const OpenRouterSetupBanner = ({
}
title="Setup OpenRouter API Key"
- subtitle={
+ chip={
<>
Free models available
diff --git a/src/components/SetupProviderCard.tsx b/src/components/SetupProviderCard.tsx
index 1bff20d..fba27e9 100644
--- a/src/components/SetupProviderCard.tsx
+++ b/src/components/SetupProviderCard.tsx
@@ -8,6 +8,7 @@ export function SetupProviderCard({
variant,
title,
subtitle,
+ chip,
leadingIcon,
onClick,
tabIndex = 0,
@@ -15,7 +16,8 @@ export function SetupProviderCard({
}: {
variant: SetupProviderVariant;
title: string;
- subtitle?: ReactNode;
+ subtitle?: string;
+ chip?: ReactNode;
leadingIcon: ReactNode;
onClick: () => void;
tabIndex?: number;
@@ -26,7 +28,7 @@ export function SetupProviderCard({
return (
+ {chip && (
+
+ {chip}
+
+ )}
{leadingIcon}
-
+
{title}
{subtitle ? (