From 53881650167ae703bfa5aeb3ca731a9ba7f67a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Sat, 30 May 2026 00:27:00 -0400 Subject: [PATCH] Show the provider credential form inline under the selected provider --- .../src/renderer/src/app/Onboarding.tsx | 61 ++++++++++++------- .../src/renderer/src/overlays.css | 9 +++ 2 files changed, 49 insertions(+), 21 deletions(-) diff --git a/AgentCompany-New/src/renderer/src/app/Onboarding.tsx b/AgentCompany-New/src/renderer/src/app/Onboarding.tsx index ba1a2ffd..25b71990 100644 --- a/AgentCompany-New/src/renderer/src/app/Onboarding.tsx +++ b/AgentCompany-New/src/renderer/src/app/Onboarding.tsx @@ -1,4 +1,4 @@ -import { useMemo, useState, type FormEvent } from "react"; +import { Fragment, useMemo, useState, type FormEvent } from "react"; import { PROVIDER_AUTH_TYPE, type AppSnapshot, @@ -249,8 +249,6 @@ function ProviderStep({ }) { const selected = providers.find((entry) => entry.key === draft.providerKey) ?? providers[0]; if (!selected) throw new Error("No provider available for onboarding."); - const isOAuthLike = selected.authType === "oauth_pkce" || selected.authType === "account_subscription"; - const isCustom = Boolean(selected.customEndpoint); return (
@@ -260,25 +258,47 @@ function ProviderStep({

{providers.map((provider) => ( - + + + {provider.key === selected.key && ( + + )} + ))}
+ +
+ ); +} + +function ProviderCredentialFields({ + selected, + draft, + onChange, +}: { + selected: ProviderCatalogEntry; + draft: Draft; + onChange: (patch: Partial) => void; +}) { + const isOAuthLike = selected.authType === "oauth_pkce" || selected.authType === "account_subscription"; + const isCustom = Boolean(selected.customEndpoint); + return ( +
{selected.credentialHelp && (
{selected.credentialHelp}
)} @@ -336,7 +356,6 @@ function ProviderStep({ onChange({ providerModel: event.target.value })} /> )} -
); } diff --git a/AgentCompany-New/src/renderer/src/overlays.css b/AgentCompany-New/src/renderer/src/overlays.css index c8f7edab..24175eaf 100644 --- a/AgentCompany-New/src/renderer/src/overlays.css +++ b/AgentCompany-New/src/renderer/src/overlays.css @@ -89,6 +89,15 @@ .option-card.active { border-color: var(--text-1); box-shadow: inset 0 0 0 1px var(--text-1); } .option-card .opt-title { font-size: 13.5px; font-weight: 540; } .option-card .opt-sub { font-size: 12px; color: var(--text-3); margin-top: 4px; } +.provider-inline-form { + display: grid; + gap: 12px; + padding: 14px 16px 16px; + margin: 2px 0 6px 12px; + border-left: 2px solid var(--text-1); + border-radius: 0 var(--r-sm) var(--r-sm) 0; + background: var(--panel-2); +} .popover-anchor { position: relative; display: inline-flex; } .popover-panel {