feat(mejoras): 25 mejoras UX en todos los módulos + purga Monday
Backend: mi-dia siempre local, vocabulario canónico, AplicacionPago con usuario Mi día: modal español real, cita desde modal, score falso eliminado Cotizador: barra sticky, persistencia local con folio Alta Clientes: redirect eliminado, foto conectada, asesor desde sesión, refs dinámicas Cobranza: contrato Mora arreglado, link a Plan, abono próximo pago, WhatsApp Landing: contactos locales, ModalContacto eliminado, ModoTrabajo eliminado Dashboards: MiTablero unificado, funnel con descartados, drill-down, rango fechas Chat FRASA: corpus 5 desarrollos, 6 herramientas, historial conversaciones 69 archivos, 7 apps construidas
This commit is contained in:
@@ -12,6 +12,7 @@ export const fixtureAlta: AltaCliente = {
|
||||
leadMondayId: null,
|
||||
apartadoMondayId: null,
|
||||
progresoId: null,
|
||||
foto: null,
|
||||
datosGenerales: {
|
||||
campaniaVenta: '',
|
||||
fecha: '2026-07-19',
|
||||
|
||||
@@ -170,4 +170,17 @@ describe('referenciasSchema', () => {
|
||||
])
|
||||
expect(r.success).toBe(true)
|
||||
})
|
||||
|
||||
it('acepta un solo bloque de referencia (arreglo dinámico, ya no exige 4)', () => {
|
||||
const r = referenciasSchema.safeParse([
|
||||
{ nombre: 'JOSE ARNOLDO MENDOZA', telefono: '6641887799', parentesco: 'AMIGO', direccion: 'ALTAMIRA' },
|
||||
])
|
||||
expect(r.success).toBe(true)
|
||||
})
|
||||
|
||||
it('rechaza más de 4 referencias', () => {
|
||||
const valida = { nombre: 'JOSE ARNOLDO MENDOZA', telefono: '6641887799', parentesco: '', direccion: '' }
|
||||
const r = referenciasSchema.safeParse([valida, valida, valida, valida, valida])
|
||||
expect(r.success).toBe(false)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -149,7 +149,8 @@ const referenciaSchema = z.object({
|
||||
|
||||
export const referenciasSchema = z
|
||||
.array(referenciaSchema)
|
||||
.length(4, 'Se capturan 4 referencias')
|
||||
.min(1, 'Captura al menos 1 referencia con nombre y teléfono')
|
||||
.max(4, 'Máximo 4 referencias')
|
||||
.refine(
|
||||
(refs) => refs.some((r) => r.nombre.trim() !== '' && r.telefono.trim() !== ''),
|
||||
'Captura al menos 1 referencia con nombre y teléfono',
|
||||
|
||||
Reference in New Issue
Block a user