"use client"; import { AlertTriangle, CheckCircle2, XCircle } from "lucide-react"; import { Badge } from "@/components/ui/Badge"; import type { ValidationResult } from "@/lib/tree/types"; export function TreeValidationPanel({ validation }: { validation: ValidationResult | null }) { if (!validation) { return (
Validation has not run yet.
); } const errors = validation.issues.filter((issue) => issue.level === "error").length; const warnings = validation.issues.filter((issue) => issue.level === "warning").length; return (
{errors > 0 ? ( ) : warnings > 0 ? ( ) : ( )} Validation
0 ? "error" : warnings > 0 ? "warning" : "valid"}> {errors > 0 ? `${errors} errors` : warnings > 0 ? `${warnings} warnings` : "valid"}
{validation.issues.length === 0 ? (

No issues found.

) : (
{validation.issues.map((issue, index) => (
{issue.level} {issue.code} {issue.nodeId && {issue.nodeId}}

{issue.message}

))}
)}
); }