import { Label } from "@/components/ui/label"; import { CheckCircle2, AlertCircle, Info, Terminal, Atom, Sparkles, } from "lucide-react"; import type { ClaudeAuthStatus, CodexAuthStatus } from "@/store/setup-store"; interface AuthenticationStatusDisplayProps { claudeAuthStatus: ClaudeAuthStatus | null; codexAuthStatus: CodexAuthStatus | null; apiKeyStatus: { hasAnthropicKey: boolean; hasOpenAIKey: boolean; hasGoogleKey: boolean; } | null; apiKeys: { anthropic: string; google: string; openai: string; }; } export function AuthenticationStatusDisplay({ claudeAuthStatus, codexAuthStatus, apiKeyStatus, apiKeys, }: AuthenticationStatusDisplayProps) { return (
{/* Claude Authentication Status */}
Claude (Anthropic)
{claudeAuthStatus?.authenticated ? ( <>
Authenticated
{claudeAuthStatus.method === "oauth_token_env" ? "Using CLAUDE_CODE_OAUTH_TOKEN" : claudeAuthStatus.method === "oauth_token" ? "Using stored OAuth token (subscription)" : claudeAuthStatus.method === "api_key_env" ? "Using ANTHROPIC_API_KEY" : claudeAuthStatus.method === "api_key" ? "Using stored API key" : claudeAuthStatus.method === "credentials_file" ? "Using credentials file" : claudeAuthStatus.method === "cli_authenticated" ? "Using Claude CLI authentication" : `Using ${claudeAuthStatus.method || "detected"} authentication`}
) : apiKeyStatus?.hasAnthropicKey ? (
Using environment variable (ANTHROPIC_API_KEY)
) : apiKeys.anthropic ? (
Using manual API key from settings
) : (
Not configured
)}
{/* Codex/OpenAI Authentication Status */}
Codex (OpenAI)
{codexAuthStatus?.authenticated ? ( <>
Authenticated
{codexAuthStatus.method === "subscription" ? "Using Codex subscription (Plus/Team)" : codexAuthStatus.method === "cli_verified" || codexAuthStatus.method === "cli_tokens" ? "Using CLI login (OpenAI account)" : codexAuthStatus.method === "api_key" ? "Using stored API key" : codexAuthStatus.method === "env" ? "Using OPENAI_API_KEY" : `Using ${codexAuthStatus.method || "unknown"} authentication`}
) : apiKeyStatus?.hasOpenAIKey ? (
Using environment variable (OPENAI_API_KEY)
) : apiKeys.openai ? (
Using manual API key from settings
) : (
Not configured
)}
{/* Google/Gemini Authentication Status */}
Gemini (Google)
{apiKeyStatus?.hasGoogleKey ? ( <>
Authenticated
Using GOOGLE_API_KEY
) : apiKeys.google ? ( <>
Authenticated
Using stored API key
) : (
Not configured
)}
); }