import { StandardSchemaV1Issue } from "@tanstack/react-form"; import { AlertCircle } from "lucide-react"; import { useMemo } from "react"; interface ErrorDisplayProps { errors?: | string | StandardSchemaV1Issue | Array; isDirty: boolean; submissionAttempts: number; } export function FormFieldErrors({ errors, isDirty, submissionAttempts, }: ErrorDisplayProps) { const errorList = useMemo( () => Array.from( new Set( (Array.isArray(errors) ? errors : [errors]) .map((e) => { if (typeof e === "string") { return e; } if (e?.message) { return e.message; } return null; }) .filter(Boolean) as string[] ) ), [errors] ); if (!isDirty && !(submissionAttempts > 0)) { return null; } if (!errorList.length) { return null; } return ( ); }