import { Label } from "@/components/ui/label"; import { CheckCircle2, AlertCircle, Info, Terminal, Sparkles, } from "lucide-react"; import type { ClaudeAuthStatus } from "@/store/setup-store"; interface AuthenticationStatusDisplayProps { claudeAuthStatus: ClaudeAuthStatus | null; apiKeyStatus: { hasAnthropicKey: boolean; hasGoogleKey: boolean; } | null; apiKeys: { anthropic: string; google: string; }; } export function AuthenticationStatusDisplay({ claudeAuthStatus, apiKeyStatus, apiKeys, }: AuthenticationStatusDisplayProps) { return (
{/* Claude Authentication Status */}
Claude (Anthropic)
{claudeAuthStatus?.authenticated ? ( <>
Authenticated
{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
)}
); }