import { useState } from 'react' import { FileText, Clock, CheckCircle2, ArrowUpRight, Star, AlertTriangle, Loader2, RefreshCw, Info } from 'lucide-react' import { aiSessionsApi } from '@/api' import { toast } from '@/lib/toast' import type { SessionDocumentation } from '@/types/ai-session' interface SessionDocViewProps { documentation: SessionDocumentation onRate?: (rating: number) => void currentRating?: number | null psaPushStatus?: string | null psaPushError?: string | null memberMappingWarning?: string | null sessionId?: string ticketId?: string | null } export function SessionDocView({ documentation, onRate, currentRating, psaPushStatus, psaPushError, memberMappingWarning, sessionId, ticketId, }: SessionDocViewProps) { const [retrying, setRetrying] = useState(false) const [currentPushStatus, setCurrentPushStatus] = useState(psaPushStatus) const [currentPushError, setCurrentPushError] = useState(psaPushError) const handleRetry = async () => { if (!sessionId) return setRetrying(true) try { const result = await aiSessionsApi.retryPsaPush(sessionId) setCurrentPushStatus(result.psa_push_status) setCurrentPushError(result.psa_push_error) if (result.psa_push_status === 'sent') { toast.success('Documentation pushed to ticket successfully') } } catch { toast.error('Retry failed') } finally { setRetrying(false) } } return (
{documentation.problem_summary}
{documentation.resolution_summary || documentation.escalation_reason}
{documentation.intake_summary}
{step.description}
{step.engineer_response && (→ {step.engineer_response}
)} {step.outcome && (Outcome: {step.outcome}
)}How helpful was this session?