+ {STEPS.map((step) => {
+ const isActive = currentStep === step.id;
+ const isComplete = currentStep > step.id;
+ const badgeClass = isComplete
+ ? "bg-emerald-100 text-emerald-700 border-emerald-200"
+ : isActive
+ ? "bg-blue-100 text-blue-700 border-blue-200"
+ : "bg-gray-100 text-gray-500 border-gray-200";
+
+ return (
+
+
+
+ {isComplete ? : step.id}
+
+ {step.label}
+
+
+ );
+ })}
+
+
+ {isCheckingStatus ? (
+
+ )}
+
+ {currentStep === 3 && (
+
+
+
Add Your First LLM Provider
+
+ Test the connection before adding your provider.
+
+
+
+
+
+
+
+
+
+
+ ) => {
+ setDisplayName(event.target.value);
+ resetProviderVerification();
+ setErrorMessage(null);
+ }}
+ disabled={isTestingProvider || isAddingProvider}
+ placeholder="My OpenAI Provider"
+ />
+
+
+ {requiresApiKey && (
+
+
+ ) => {
+ setProviderApiKey(event.target.value);
+ resetProviderVerification();
+ setErrorMessage(null);
+ }}
+ disabled={isTestingProvider || isAddingProvider}
+ autoComplete="off"
+ />
+
+ )}
+
+ {requiresBaseUrl && (
+
+
+ ) => {
+ setProviderBaseUrl(event.target.value);
+ resetProviderVerification();
+ setErrorMessage(null);
+ }}
+ disabled={isTestingProvider || isAddingProvider}
+ placeholder="http://localhost:11434"
+ autoComplete="url"
+ />
+
+ )}
+
+ {providerTestMessage && (
+
+ {providerTestMessage}
+
+ )}
+
+
+
+
+
+
+ )}
+
+ {currentStep === 4 && (
+