import { useCallback, useEffect, useState, type FormEvent } from 'react' import KpiCard from '../components/KpiCard' import { esActividadVencida, esRolConEquipo, formatoFechaCorta, hoyLocal, MOTIVOS_NO_COMPRA, ORIGENES_LEAD, textoDiasRestantes, type LeadMiDia, type MotivoNoCompra, type ResumenMiDia, } from '../lib/mi-dia' import { cambiarEstadoLead, crearLead, descartarLead, fetchResumenMiDia } from '../services/mi-dia' import { getSesion } from '../services/auth' function TituloSeccion({ children }: { children: string }) { return

{children}

} function EstadoVacio({ mensaje }: { mensaje: string }) { return (

{mensaje}

) } const CLASE_BOTON_ACCION = 'border border-accent px-3 py-1.5 text-xs font-bold uppercase tracking-widest text-accent transition-colors duration-150 hover:bg-accent hover:text-white disabled:opacity-50' /** Modal de descarte: motivo (dropdown CRM) + comentario opcional */ function ModalDescartar({ lead, onCancelar, onConfirmar, enviando, }: { lead: LeadMiDia onCancelar: () => void onConfirmar: (motivo: MotivoNoCompra, comentario: string) => void enviando: boolean }) { const [motivo, setMotivo] = useState(MOTIVOS_NO_COMPRA[0]) const [comentario, setComentario] = useState('') return (

Descartar lead

{lead.nombre}

{ e.preventDefault() onConfirmar(motivo, comentario.trim()) }} >