"use client"; import { CheckCircle2, PlugZap, Save, XCircle } from "lucide-react"; import { CapabilityBadges } from "@/components/settings/CapabilityBadges"; import { Badge } from "@/components/ui/Badge"; import { Button } from "@/components/ui/Button"; import { StatusDot } from "@/components/ui/StatusDot"; import { TextInput } from "@/components/ui/TextInput"; import type { CapabilitiesView } from "@/lib/api/types"; import type { KnownProvider } from "@/lib/settings/providers"; export interface TestResult { ok: boolean; capabilities: CapabilitiesView; } interface CredentialRowProps { provider: KnownProvider; masked: string | null; draft: string; saving: boolean; testing: boolean; result: TestResult | undefined; onDraftChange: (value: string) => void; onSave: () => void; onTest: () => void; } // 单个 API-key 提供商行:脱敏态 + Key 输入 + 保存/测试 + 探活结果。 export function CredentialRow({ provider, masked, draft, saving, testing, result, onDraftChange, onSave, onTest, }: CredentialRowProps) { return (
  • {provider.label} {masked ?? "未配置"} onDraftChange(e.target.value)} placeholder={masked ? "输入新 Key 以更新" : "输入 API Key"} />

    {masked ? "已保存脱敏凭据;输入新 Key 可覆盖更新。" : "保存后再测试连接,成功后即可在档位路由中使用。"}

    {result ? (
    {result.ok ? (
    ) : null}
  • ); }