import { Label } from '@/components/ui/label'; import { CheckCircle2, AlertCircle, Info, Terminal } 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
)}
); }