// Differentiators: 3 comparison blocks (WideWired vs Tailscale vs ZeroTier) function Differentiators({ ctx }) { const { t } = ctx; const d = t.diff; const renderCell = (v, colIdx) => { const emphasized = colIdx === 1; // WideWired column const base = { fontFamily: v === true || v === false ? "var(--mono)" : "inherit", fontSize: 13, color: emphasized ? "var(--ink)" : "var(--ink-2)", fontWeight: emphasized ? 500 : 400, }; if (v === true) return ✓; if (v === false) return —; return {v}; }; return ( {d.blocks.map((b, i) => ( {/* left: intro */} {b.num} § {b.kicker} {b.title} {b.desc} {/* right: comparison table */} {d.cmpHeader.map((h, j) => ( {h} ))} {b.rows.map((row, ri) => ( {row[0]} {[1, 2, 3].map(ci => ( {renderCell(row[ci], ci)} ))} ))} ))} ); } window.Differentiators = Differentiators;
{b.desc}