import { useState } from 'react'; import { AlertTriangle, ChevronDown, ChevronRight } from 'lucide-react'; import { ReportSection } from '../ReportSection'; import type { ReportErrors, ToolError } from '@renderer/types/sessionReport'; interface ErrorItemProps { error: ToolError; } const ErrorItem = ({ error }: ErrorItemProps) => { const [expanded, setExpanded] = useState(false); return (
{expanded && (
{error.inputPreview && (
Input
{error.inputPreview}
)}
Error
{error.error}
)}
); }; interface ErrorSectionProps { data: ReportErrors; defaultCollapsed?: boolean; } export const ErrorSection = ({ data, defaultCollapsed }: ErrorSectionProps) => { return (
{data.errors.length} error{data.errors.length !== 1 ? 's' : ''} {data.permissionDenials.count > 0 && ( {data.permissionDenials.count} permission denial {data.permissionDenials.count !== 1 ? 's' : ''} )}
{data.errors.map((error, idx) => ( ))}
); };