'use client' import { useEffect, useState } from 'react' import { isSuppressed, type SegmentacionData, type SuppressedPayload, type DashboardFilters, } from '@/lib/dashboard-types' import { queries } from '@/lib/dashboard-queries' import { WidgetShell } from './widget-shell' export function SegmentacionBar({ surveyId, filters }: { surveyId: string; filters: DashboardFilters }) { const [data, setData] = useState(null) const [error, setError] = useState(false) useEffect(() => { setData(null); setError(false) queries.meSegmentacion(surveyId, filters) .then((d) => setData(d as SegmentacionData | SuppressedPayload)) .catch(() => setError(true)) }, [surveyId, JSON.stringify(filters)]) const status = error ? 'error' : data === null ? 'loading' : isSuppressed(data) ? 'suppressed' : 'ok' const ok = status === 'ok' ? (data as SegmentacionData) : null return ( {ok && (

Por nivel organizacional

{ok.por_nivel.length === 0 && (

Ningún nivel alcanza n≥5 con este filtro.

)}
    {ok.por_nivel.map((row) => (
  • {row.nivel}
    {row.pct}%
  • ))}

Por modalidad de trabajo

{ok.por_modalidad.length === 0 && (

Ninguna modalidad alcanza n≥5 con este filtro.

)}
    {ok.por_modalidad.map((row) => (
  • {row.modalidad}
    {row.pct}%
  • ))}
)}
) }