/* global React */ // Instituciones (HU.4.3) — Catálogo de instituciones reportantes const { useState: useStateIn } = React; function InstitucionesScreen({ user, onOpenNueva }) { const I = window.Icons; const insts = window.INSTITUCIONES_CATALOG; const [q, setQ] = useStateIn(''); const [tipoFilter, setTipoFilter] = useStateIn('Todos'); const filtered = insts.filter(i => { if (q && !`${i.nombre} ${i.sigla} ${i.contacto}`.toLowerCase().includes(q.toLowerCase())) return false; if (tipoFilter !== 'Todos' && i.tipo !== tipoFilter) return false; return true; }); const activas = insts.filter(i => i.estado === 'activo').length; const sinUsuarios = insts.filter(i => i.usuarios === 0).length; return (
{user.org}

Instituciones

Catálogo de instituciones reportantes habilitadas en la plataforma. Las instituciones desactivadas pierden acceso pero conservan su historial completo.

{insts.length}
Instituciones en catálogo
{activas} activas
{insts.reduce((a, b) => a + b.usuarios, 0)}
Usuarios distribuidos
En instituciones reportantes
{sinUsuarios}
Sin usuarios activos
No reciben notificaciones
{insts.reduce((a, b) => a + b.compromisos, 0)}
Compromisos asignados
A través de todas las instituciones
setQ(e.target.value)} />
{['Todos', 'Ministerio', 'Secretaría Ejecutiva', 'Órgano de Control', 'Órgano Extra-Poder', 'Subsecretaría', 'Dirección', 'Unidad Especializada', 'Poder del Estado'].map(t => ( ))}
{filtered.map(i => (
{i.sigla.slice(0, 4)}
{i.nombre} {i.tipo}
{i.estado === 'activo' ? 'Activa' : i.estado === 'pendiente' ? 'Pendiente' : 'Desactivada'}
{i.contacto}
{i.compromisos}compromisos
{i.usuarios}usuario{i.usuarios === 1 ? '' : 's'}
{i.ultimo}último acceso
))}
{filtered.length === 0 && (

Sin resultados

Intenta con otros criterios de búsqueda.

)}
); } Object.assign(window, { InstitucionesScreen });