import { useCallback, useEffect, useState } from 'react' import { EstadoVacio, TituloSeccion } from './comunes' import type { ResumenMiDia } from '../lib/mi-tablero' import { fetchResumenMiDia } from '../services/mi-dia' const CLASE_CELDA = 'px-4 py-3 text-sm text-[#111827] dark:text-[#E2E8F0]' const CLASE_ENCABEZADO = 'bg-[#F8FAFC] px-4 py-2 text-left text-xs font-semibold uppercase text-[#64748B] dark:text-[#94A3B8]' /** * Sección "Equipo" (solo coordinador/corporativo/admin): tabla vendedor → * leads asignados y nuevos esta semana, más los leads nuevos sin asignar. * Fuente: `equipo` de GET /api/mi-dia/resumen (el API solo la incluye para * esos roles). */ export default function SeccionEquipo() { const [equipo, setEquipo] = useState(null) const [error, setError] = useState(null) const cargar = useCallback(async () => { try { setEquipo((await fetchResumenMiDia()).equipo ?? null) setError(null) } catch (err) { setError(err instanceof Error ? err.message : 'No se pudo cargar el equipo') } }, []) useEffect(() => { void cargar() }, [cargar]) return (
Equipo: leads por vendedor {error && (

Sin datos del API — {error}

)} {!error && !equipo && } {!error && equipo && ( <>

Leads nuevos sin asignar:{' '} {equipo.leadsNuevosSinAsignar}

{equipo.porVendedor.length === 0 ? ( ) : ( {equipo.porVendedor.map((v) => ( ))}
Vendedor Leads asignados Nuevos esta semana
{v.nombre ?? 'Sin nombre'} {v.leadsAsignados} {v.leadsNuevosSemana}
)} )}
) }