// Campanita de alertas: avisa de programas/sedes NO identificados en cartera_junta // (valores que no están en el diccionario alias_normalizacion). import { useState, useEffect } from "react"; import { api } from "../lib/api"; export default function CampanitaAlertas() { const [data, setData] = useState({ programa: [], sede: [] }); const [abierto, setAbierto] = useState(false); useEffect(() => { let activo = true; api.alertas() .then((r) => { if (activo) setData({ programa: r.programa || [], sede: r.sede || [] }); }) .catch(() => { if (activo) setData({ programa: [], sede: [] }); }); return () => { activo = false; }; }, []); const total = (data.programa?.length || 0) + (data.sede?.length || 0); const hay = total > 0; return (
{abierto && (
🔔 Alertas de normalización
{!hay ? (
✓ Todo identificado, nada por revisar.
) : ( <> {(data.programa?.length > 0) && (
Nuevo programa no identificado:
{data.programa.map((p, i) => (
{p.valor || "(vacío)"} · {p.veces}
))}
)} {(data.sede?.length > 0) && (
Nueva sede no identificada:
{data.sede.map((s, i) => (
{s.valor || "(vacío)"} · {s.veces}
))}
)}
Agrégalos al diccionario (alias_normalizacion) para clasificarlos.
)}
)}
); }