import React, { useState } from 'react'; import { InvestigationCase } from '../../types/forensics'; import { Bot, Sparkles, Send, FileText, Scale, ShieldAlert, RefreshCw, Copy, Check, Lightbulb, Zap } from 'lucide-react'; import { requestAiAnalysis } from '../../services/forensicApi'; interface AiAnalystTabProps { currentCase: InvestigationCase; } export const AiAnalystTab: React.FC = ({ currentCase, }) => { const [analysisText, setAnalysisText] = useState(''); const [isLoading, setIsLoading] = useState(false); const [userQuery, setUserQuery] = useState(''); const [copied, setCopied] = useState(false); const [activeAnalysisMode, setActiveAnalysisMode] = useState('DEEP_DIVE'); const runAnalysis = async (mode: 'DEEP_DIVE' | 'SAR_DRAFT' | 'STATUTORY_BRIEF' | 'CUSTOM', customPrompt?: string) => { setIsLoading(true); setActiveAnalysisMode(mode); try { const result = await requestAiAnalysis(currentCase, mode, customPrompt); setAnalysisText(result); } catch (err: any) { setAnalysisText(`Error executing AI analysis: ${err.message}`); } finally { setIsLoading(false); } }; const handleCustomSubmit = (e: React.FormEvent) => { e.preventDefault(); if (!userQuery.trim() || isLoading) return; runAnalysis('CUSTOM', userQuery); setUserQuery(''); }; const copyToClipboard = () => { navigator.clipboard.writeText(analysisText); setCopied(true); setTimeout(() => setCopied(false), 3000); }; return (
{/* Top Banner: Gemini Threat Intelligence Analyst */}

Sentinel-AI Threat Intelligence & Legal Synthesis Engine

Powered by Google Gemini 3.7 • Autonomous Mens Rea Attribution & Forensic Dossier Synthesis

AI SERVER ENGINE
{/* Quick Action Presets */}
{/* Analysis Output Screen */}
ANALYSIS DOSSIER & LEGAL INTELLIGENCE
{analysisText && ( )}
{/* Content Body */}
{isLoading ? (
Synthesizing network telemetry, laundering hops, and statutory matrices with Gemini 3.7...
) : !analysisText ? (

Select an intelligence preset above (Deep Threat Dossier, SAR Draft, Statutory Brief) or ask a custom forensic question below.

) : (
{analysisText}
)}
{/* Custom Question Interrogation Bar */}
setUserQuery(e.target.value)} placeholder="Ask the AI Analyst (e.g., 'What evidence supports 18 U.S.C. 2339B material support?', 'Summarize physical triangulation')..." className="flex-1 bg-slate-950 border border-slate-800 text-slate-200 text-xs font-mono px-3 py-2 rounded-lg focus:outline-none focus:border-indigo-500 transition-colors placeholder-slate-600" disabled={isLoading} />
); };