// Tools — orchestrator for Herramientas tab. // Sub-tabs: Paciente · Calculadoras · Mi calculadora · Escalas // All heavy lifting lives in Calculators.jsx / PatientPanel.jsx / CustomCalc.jsx. const { useState: useTS } = React; // ─── Scales viewer (kept here, lightweight) ──────────────── function ScalesGallery() { const [active, setActive] = useTS(null); return ( <>
{ESCALAS.map(s => ( ))}
{active && (
setActive(null)}>
e.stopPropagation()}>
Escala

{active.name}

{active.rangos}
{active.name}/
)} ); } // ─── ToolsSection ─────────────────────────────────────────── function ToolsSection() { const [cat, setCat] = useTS('paciente'); const [openCalc, setOpenCalc] = useTS('ped'); const C = window.Calc || {}; const calcs = [ { id: 'ped', name: 'Pérdidas insensibles · Pediátrico', group: 'Pérdidas insensibles', Comp: C.PerdidasPediatricas }, { id: 'prem', name: 'Pérdidas insensibles · Prematuro', group: 'Pérdidas insensibles', Comp: C.PerdidasPrematuros, soon: true }, { id: 'adult', name: 'Pérdidas insensibles · Adulto', group: 'Pérdidas insensibles', Comp: C.PerdidasAdultos }, { id: 'gotas', name: 'Factor goteo · Velocidad infusión', group: 'Soluciones', Comp: C.FactorGoteo }, { id: 'tabla', name: 'Tabla de líquidos infundidos', group: 'Soluciones', Comp: C.TablaLiquidos }, { id: 'imc', name: 'IMC · clasificación OMS', group: 'Antropometría', Comp: C.IMCalc }, { id: 'choque', name: 'Índice de choque', group: 'Hemodinamia', Comp: C.IndiceChoque }, { id: 'pam', name: 'Presión arterial media (PAM)', group: 'Hemodinamia', Comp: C.PAM }, ]; // group by section for sidebar const groups = {}; calcs.forEach(c => { (groups[c.group] = groups[c.group] || []).push(c); }); const Active = (calcs.find(c => c.id === openCalc) || calcs[0]).Comp || (() =>
Cargando…
); return (
{[ ['paciente', 'Paciente'], ['calc', 'Calculadoras', calcs.length], ['mine', 'Mi calculadora'], ['scales', 'Escalas', ESCALAS.length], ].map(([k, l, n]) => ( ))}
{cat === 'paciente' && window.PatientPanel && } {cat === 'calc' && (
)} {cat === 'mine' && window.CustomCalc && } {cat === 'scales' && }
); } window.ToolsSection = ToolsSection;