diff --git a/src/components/SetupBanner.tsx b/src/components/SetupBanner.tsx index 15d1058..9de9335 100644 --- a/src/components/SetupBanner.tsx +++ b/src/components/SetupBanner.tsx @@ -7,8 +7,10 @@ import { AlertCircle, XCircle, Loader2, + Settings, } from "lucide-react"; import { providerSettingsRoute } from "@/routes/settings/providers/$provider"; +import { settingsRoute } from "@/routes/settings"; import { useSettings } from "@/hooks/useSettings"; import { useState, useEffect, useCallback } from "react"; import { IpcClient } from "@/ipc/ipc_client"; @@ -28,7 +30,7 @@ type NodeInstallStep = | "continue-processing"; export function SetupBanner() { - const { capture } = usePostHog(); + const posthog = usePostHog(); const navigate = useNavigate(); const { isAnyProviderSetup, loading } = useSettings(); const [nodeSystemInfo, setNodeSystemInfo] = useState( @@ -54,21 +56,28 @@ export function SetupBanner() { }, [checkNode]); const handleAiSetupClick = () => { - capture("setup-flow:ai-provider-setup-click"); + posthog.capture("setup-flow:ai-provider-setup:google:click"); navigate({ to: providerSettingsRoute.id, params: { provider: "google" }, }); }; + const handleOtherProvidersClick = () => { + posthog.capture("setup-flow:ai-provider-setup:other:click"); + navigate({ + to: settingsRoute.id, + }); + }; + const handleNodeInstallClick = useCallback(async () => { - capture("setup-flow:start-node-install-click"); + posthog.capture("setup-flow:start-node-install-click"); setNodeInstallStep("waiting-for-continue"); IpcClient.getInstance().openExternalUrl(nodeSystemInfo!.nodeDownloadUrl); }, [nodeSystemInfo, setNodeInstallStep]); const finishNodeInstall = useCallback(async () => { - capture("setup-flow:continue-node-install-click"); + posthog.capture("setup-flow:continue-node-install-click"); setNodeInstallStep("continue-processing"); await IpcClient.getInstance().reloadEnvPath(); await checkNode(); @@ -228,11 +237,6 @@ export function SetupBanner() { onClick={handleAiSetupClick} role="button" tabIndex={isNodeSetupComplete ? 0 : -1} - onKeyDown={(e) => - isNodeSetupComplete && - e.key === "Enter" && - handleAiSetupClick() - } >
@@ -252,6 +256,30 @@ export function SetupBanner() {
+ +
+
+
+
+ +
+
+

+ Setup other AI providers +

+

+ OpenAI, Anthropic, OpenRouter and more +

+
+
+ +
+