);
}
/* ---- BRECHA: dot-plot coloquial (gris = hoy, círculo rojo = tu siguiente nivel) ----
light = versión compacta para el PDF (sin cambios).
web = versión enriquecida: ordena por prioridad, muestra los valores hoy → meta
sobre la escala 1–5 y marca los ejes que más se deben trabajar. */
function DetailBars({ scores, light }) {
const pos = v => Math.max(0, Math.min(100, ((v - 1) / 4) * 100));
/* ---------- versión compacta (PDF) ---------- */
if (light) {
return (
{scores.map(s => {
const cur = pos(s.current), tgt = pos(s.target);
const gap = Math.round((s.target - s.current) * 10) / 10;
const lo = Math.min(cur, tgt), hi = Math.max(cur, tgt);
const icon = window.DIAG_EJE_ICONS[s.key] || '';
return (
{s.name}
{gap > 0.1 ? `+${gap.toFixed(1)}` : '✓'}
);
})}
);
}
/* ---------- versión web enriquecida ---------- */
// Ordena por prioridad (mismo criterio que la recomendación): los ejes que
// más se deben trabajar quedan arriba. Los 3 primeros se marcan como foco.
const ranked = [...scores].sort((a, b) => (b.priority || 0) - (a.priority || 0));
const focusCount = ranked.filter(s => (s.target - s.current) > 0.1).length >= 3 ? 3 : 0;
return (