'use client'; import React, { useState } from 'react'; import { motion } from 'framer-motion'; import { X, ShieldCheck, Zap, Briefcase, Cpu, TrendingUp, Info, Search } from 'lucide-react'; export default function CandidateDetail({ evaluation, onClose }) { const [activeTab, setActiveTab] = useState('Synthesis'); const agents = [ { name: 'Synthesis', icon: ShieldCheck }, { name: 'Signal Extraction', icon: Zap }, { name: 'Explanation', icon: Info }, { name: 'Founder Eval', icon: TrendingUp }, { name: 'HR Agent', icon: Search }, { name: 'Tech Agent', icon: Cpu }, { name: 'Business Agent', icon: Briefcase }, ]; const getAgentContent = (name) => { if (name === 'Synthesis') return evaluation.synthesis; const agent = evaluation.agent_outputs.find(a => a.agent_name === name); return agent ? agent.content : 'No output available for this agent.'; }; return ( e.stopPropagation()} > {/* Header */}
Full Report

{evaluation.name}

{evaluation.decision}
Score: {Math.round(evaluation.final_score)}/100
{/* Content Area */}
{/* Sidebar Tabs */}
{agents.map((agent) => { const Icon = agent.icon; const isActive = activeTab === agent.name; return ( ); })}
{/* Main Content */}

{activeTab} Output

{activeTab === 'Synthesis' ? (

Final Summary

{evaluation.synthesis}

Key Strengths

    {evaluation.strengths.map((s, i) => (
  • {s}
  • ))}

Potential Risks

    {evaluation.risks.map((r, i) => (
  • {r}
  • ))}
{Object.entries(evaluation.scores).map(([key, val]) => (
{key}
{val}
))}
) : (
{getAgentContent(activeTab)}
)}
); }