import React, { useState } from "react"; import { Dialog, DialogContent, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; import { useAuth } from "@/context/AuthContext"; import { ExternalLink, FileText, Play } from "lucide-react"; interface AuthModalProps { open: boolean; onOpenChange: (open: boolean) => void; } export function AuthModal({ open, onOpenChange }: AuthModalProps) { const { login, authState } = useAuth(); const [showVideo, setShowVideo] = useState(false); // Debug: Log auth state when modal renders console.log("🔍 AuthModal render - authState:", { isLoading: authState.isLoading, isAuthenticated: authState.isAuthenticated, error: authState.error, buttonDisabled: authState.isLoading, }); const handleLogin = async () => { console.log("🖱️ Login button clicked!"); try { console.log("🔄 Calling login()..."); await login(); console.log("✅ login() completed"); // Don't close modal here, it will close after successful auth } catch (error) { console.error("❌ Login failed:", error); } }; return (
{/* Left side - Authentication */}
{/* Header */}

AgentGraph

Trace-to-Graph Platform for Interactive Analysis and Robustness Testing in Agentic AI Systems

{/* Description */}

Convert execution logs into interactive knowledge graphs with actionable insights for AI system analysis and robustness testing.

{/* Authentication Section */}

Access Research Platform

{authState.error && (

{authState.error}

)}

Authentication required for responsible AI resource usage

{/* Right side - Demo Content */}
{/* Demo Video - Click to load to avoid iframe issues in HF Spaces */}
{showVideo ? (