feat(7-mejoras): notas persisten + soporte + captura visible

1. Notas propagan entre etapas (convertirLead/apartar updateMany)
2. Afluencia: conexión → aviso amarillo
3. Escrituración: click nombre abre bitácora
4. Co-acreditado: opción 'no tiene'
5. Nota del alta de lead → bitácora
6. Módulo Soporte: formulario + listado solicitudes
7. Captura visible para todos
This commit is contained in:
2026-09-11 23:17:25 +00:00
parent 1ba7aa49da
commit c8357fe582
22 changed files with 693 additions and 19 deletions

View File

@@ -17,9 +17,28 @@ export default function CoacreditadoForm({ valores, onAnterior, onSiguiente }: P
})
const tieneCoacreditado = metodos.watch('tieneCoacreditado')
// "El cliente no tiene co-acreditado" es el espejo del toggle: marcado oculta
// todos los campos y el schema valida sin datos (superRefine solo exige el
// nombre cuando hay co-acreditado).
const cambiarSinCoacreditado = (e: { target: { checked: boolean } }) => {
metodos.setValue('tieneCoacreditado', !e.target.checked, { shouldValidate: false })
metodos.clearErrors()
}
return (
<FormProvider {...metodos}>
<form onSubmit={metodos.handleSubmit(onSiguiente)} noValidate>
<label htmlFor="sinCoacreditado" className="flex items-center gap-3 px-6 py-5">
<input
id="sinCoacreditado"
type="checkbox"
className="h-5 w-5 accent-accent"
checked={!tieneCoacreditado}
onChange={cambiarSinCoacreditado}
/>
<span className="text-sm font-medium text-[#111827]">El cliente no tiene co-acreditado</span>
</label>
<label htmlFor="tieneCoacreditado" className="flex items-center gap-3 px-6 py-5">
<input
id="tieneCoacreditado"