/** * Full config viewer modal with sensitive field redaction. * Replaces the 60-char truncation in the issuers table. * Reusable for targets in M35 — no IssuersPage-specific imports. */ import { isSensitiveKey } from '../../config/issuerTypes'; interface ConfigDetailModalProps { title: string; config: Record; onClose: () => void; } export default function ConfigDetailModal({ title, config, onClose }: ConfigDetailModalProps) { const entries = Object.entries(config); return (

{title}

{entries.length === 0 ? (
No configuration data
) : (
{entries.map(([key, val]) => { const redacted = isSensitiveKey(key); return (
{key} {redacted ? '********' : String(val ?? '')}
); })}
)}
); }