import React, { useState } from 'react'; import { ChevronDown, ChevronUp, Video } from 'lucide-react'; export default function OutputPanel({ result }) { const [showTranscript, setShowTranscript] = useState(false); if (!result) return null; const confidence = (result.confidence || 0) * 100; const transcriptPreview = result.video_transcript || ''; const getConfidenceColor = (c) => { if (c >= 80) return 'text-emerald-400'; if (c >= 60) return 'text-sky-400'; if (c >= 40) return 'text-amber-400'; return 'text-rose-400'; }; return (

Analysis Result

{confidence.toFixed(1)}% confidence
{result.answer && (

Summary

{result.answer}

)} {result.context_summary && (

Verification Context

{result.context_summary}

)} {transcriptPreview && (
{showTranscript && (
{transcriptPreview}
)}
)} {result.metadata?.input_type === 'url' && result.metadata?.extraction?.safety_warning && (

Safety Warning: {Array.isArray(result.metadata.extraction.safety_warning) ? result.metadata.extraction.safety_warning.join(', ') : result.metadata.extraction.safety_warning}

)} {result.agreements && result.agreements.length > 0 && (

Corroborating Sources

{result.agreements.map((source, i) => ( {source} ))}
)} {result.compute_time_ms && (

Processed in {result.compute_time_ms}ms across {result.metadata?.sources_retrieved || 0} sources

)}
); }