const { Card, Badge, Button, Icon, Switch, Alert, Tag } = window.SURASegurosDesignSystem_faeb0e;
const { BenefitList, Field, Input, Accordion } = window.SURASegurosDesignSystem_faeb0e;
function formatCOP(n) {
return '$ ' + Math.round(n).toLocaleString('es-CO');
}
function bandaPorEdad(edadStr) {
const edad = Number(edadStr);
if (edadStr === '' || Number.isNaN(edad)) return null;
return window.SURA_DATA.tarifasModular.bandas.find((b) => edad >= b.min && edad <= b.max) || null;
}
function CopagosTable({ rows }) {
return (
{['Cobertura', 'Aplica para', 'Copago'].map((h, i) => (
{h}
))}
{rows.map((r, i) => (
{r[0]}
{r[1]}
{r[2]}
))}
);
}
function EspecialistasChips({ lista }) {
return (
{lista.map((e) => {e} )}
);
}
function TarifaBlock({ tarifa }) {
if (tarifa.tipo === 'simple') {
return (
Tarifa mensual
{tarifa.valor}
{tarifa.nota}
);
}
if (tarifa.tipo === 'tabla') {
return (
Edad
{tarifa.columnas.map((c) => (
{c}
))}
{tarifa.filas.map((f, i) => (
{f.edad}
{f.valores.map((v, j) => (
{v}
))}
))}
);
}
if (tarifa.tipo === 'tabla-simple') {
return (
{tarifa.filas.map((f) => (
{f.edad}
{f.valor}
))}
);
}
return null;
}
function Detalle({ go, planId }) {
const D = window.SURA_DATA;
const plan = D.planes.find((p) => p.id === planId) || D.planes.find((p) => p.id === 'modular');
const det = plan.detalle || {};
const [activos, setActivos] = React.useState({ maternidad: true });
const cuenta = Object.values(activos).filter(Boolean).length;
const esModular = plan.id === 'modular';
const [edadCalc, setEdadCalc] = React.useState('');
const bandaCalc = esModular ? bandaPorEdad(edadCalc) : null;
const totalCalc = bandaCalc ? bandaCalc.basico + D.modulos.reduce((sum, m) => sum + (activos[m.id] ? (bandaCalc[m.id] || 0) : 0), 0) : null;
return (
{plan.familia}
go('cotizar', plan.id)}>Cotizar {plan.nombre}
{plan.heroImagen ? (
) : (
)}
{plan.heroImagenBleed ? : null}
{plan.badge ?
{plan.badge} : null}
{plan.resumen}
{plan.etiqueta ? (
{plan.notaEps ? plan.notaEps : (
Si estas afiliado a EPS SURA, tienes continuidad de tratamientos : lo que no cubre el plan, lo cubre EPS SURA.
)}
) : null}
{det.especialistas ? (
) : null}
{det.subplanes ? (
{det.subplanes.map((s) => (
{s.nombre}
))}
) : null}
{det.grupos.map((g) => (
{esModular ? null :
{g.titulo} }
))}
{esModular ? (
Módulos adicionales
Arma tu plan
Cada módulo se paga con prima extra y se puede activar o retirar cuando tu vida cambie.
setEdadCalc(e.target.value)} placeholder="Ej. 35" />
{D.modulos.map((m) => (
setActivos({ ...activos, [m.id]: v })} label="" />
))}
{bandaCalc ? (
Tu tarifa mensual estimada · {bandaCalc.label}
{formatCOP(totalCalc)}
) : (
{edadCalc === '' ? 'Ingresa tu edad para ver tu tarifa estimada con los módulos que elegiste.' : 'Esa edad está fuera del rango de este plan. Escríbeme para orientarte.'}
)}
{cuenta} {cuenta === 1 ? 'módulo activo' : 'módulos activos'}
go('cotizar', plan.id)}>Cotizar así
) : null}
{esModular ? (
({
title: m.label,
content: (
{m.cobertura.map((c, i) => {c} )}
{m.carencia ?
Período de carencia: {m.carencia}
: null}
{m.exclusiones ?
No incluye: {m.exclusiones.join(' · ')}
: null}
)
}))} />
) : null}
{det.cobertura ? (
{det.cobertura.map((c) => {c} )}
) : null}
{det.tarifa && !esModular ? (
) : null}
{esModular || det.copagos ? (
{esModular ? (
Los módulos adicionales de maternidad y alto costo tienen el mismo copago de $ 30.000 por evento u orden.
) : det.copagosNota ? (
{det.copagosNota}
) : null}
) : null}
¿Quieres cotizar {plan.nombre}?
Te respondo con tu tarifa exacta según tu edad.
go('cotizar', plan.id)}>Cotizar ahora
);
}
Object.assign(window, { Detalle, CopagosTable });