'use client' import { useEffect, useState } from 'react' import { isSuppressed, type RiesgoData } from '@/lib/dashboard-types' import { queries } from '@/lib/dashboard-queries' import type { DashboardFilters } from '@/lib/dashboard-types' import { WidgetShell } from './widget-shell' const RIESGO_COLOR: Record = { Alto: '#ef4444', Medio: '#F8AD13', Bajo: '#43BBC8', } export function TablaRiesgo({ surveyId, filters }: { surveyId: string; filters: DashboardFilters }) { const [data, setData] = useState(null) const [sup, setSup] = useState(false) useEffect(() => { setData(null); setSup(false) queries.riesgo(surveyId, filters) .then(d => { if (isSuppressed(d)) setSup(true); else setData(d as RiesgoData) }) .catch(() => {}) }, [surveyId, JSON.stringify(filters)]) const status = !data && !sup ? 'loading' : sup ? 'suppressed' : 'ok' return ( {data && (

Alto: ausencias frecuentes + empresa no comprende. Medio: una condición. Bajo: ninguna. La columna de departamento fue eliminada para evitar cruces reidentificables.

{data.segmentos.map(seg => ( ))}
Segmento N % del total Política más demandada
{seg.segmento} {seg.suppressed ? '—' : seg.n} {seg.suppressed ? '—' : `${seg.pct}%`} {seg.suppressed ? Datos insuficientes (n<5) : seg.politica ?? '—'}
)}
) }