import { Alert, Paper, SimpleGrid, Stack, Text } from "@mantine/core"; import { IconAlertTriangle, IconCheck } from "@tabler/icons-react"; import type { EditorDiagnostic } from "./analyzer"; interface PreviewDiagnosticsMessages { templateSize: string; characters: (count: number) => string; namedRequests: string; methods: string; networkScope: string; ready: string; diagnostic: (diagnostic: EditorDiagnostic) => string; } interface PreviewDiagnosticsPanelProps { templateLength: number; namedRequestCount: number; methods: string; networkScope: string; diagnostics: EditorDiagnostic[]; messages: PreviewDiagnosticsMessages; } export function PreviewDiagnosticsPanel({ templateLength, namedRequestCount, methods, networkScope, diagnostics, messages, }: PreviewDiagnosticsPanelProps) { return ( {diagnostics.length === 0 ? ( }> {messages.ready} ) : ( diagnostics.map((diagnostic, index) => ( } > {messages.diagnostic(diagnostic)} )) )} ); } function DiagnosticFact({ label, value }: { label: string; value: string }) { return ( {label} {value || "—"} ); }