);
}
// ---------------- Deadlines List ----------------
function DeadlinesList({ items, onOpen }) {
const I = window.Icons;
return (
{items.map((d, i) => (
{d.code}
{d.title}{d.id}
{d.inst} · vence {d.date}
))}
);
}
// ---------------- Home Screen ----------------
function HomeScreen({ user, roleId, onNavigate }) {
const I = window.Icons;
const kpis = window.getKPIs(roleId);
const activity = window.getActivity(roleId);
const deadlines = window.getDeadlines(roleId);
const modules = window.homeModulesForRole(roleId);
// Find the feature module (Tablero or Reportes Aprobados) to render special
const featureMod = modules.find(m => m.variant === 'feature');
const rest = modules.filter(m => m !== featureMod);
// Compose bento layout:
// - Tablero feature: span 8
// - Next module: span 4 (top right)
// - Remaining: span 4 each
// - Portal (accent): span 4
// We tag the second module with module--wide false; just default span 4
// To balance, mark Mensajería or first non-feature module as the right top-side card
// Simple approach: just render feature first then rest in default grid
return (
Este módulo está fuera del alcance de esta primera entrega.
El foco de este prototipo es la pantalla Home (hub principal).
La navegación queda preparada para conectarse con las pantallas detalladas en próximas iteraciones.