// ErrorState supports two call shapes: // 1. error-object form: // 2. title+message form: // // The title/message form was added by Audit 2026-05-10 CRIT-4 // (BreakglassPage admin GUI) so pages can render a denied/disabled // banner without manufacturing a synthetic Error. When `title` is // supplied, it takes precedence over the default headline; when // `message` is supplied, it takes precedence over `error.message`. interface ErrorStateProps { error?: Error; onRetry?: () => void; title?: string; message?: string; 'data-testid'?: string; } export default function ErrorState({ error, onRetry, title, message, 'data-testid': dataTestid, }: ErrorStateProps) { const headline = title ?? 'Failed to load data'; const detail = message ?? error?.message ?? ''; return (

{headline}

{detail &&

{detail}

} {onRetry && ( )}
); }