"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}
))}
)}
);
}