feat: ecosistema FRASA — apps Cotizador, Alta Clientes, Cobranza y Landing

- Cotizador (/quote): 4 propuestas con formulas validadas del Excel, comparador,
  combobox de unidades, vigencia, PDF ANEXO A
- Alta Clientes (/client): wizard 8 pasos, validacion CURP RENAPO, OCR de INE,
  checklist de expediente, firma digital, 5 PDFs legales
- Cobranza (/pay): planes de enganche, mora, vista cobranza del dia, recibos PDF,
  bitacora, dashboard con filtros
- Landing (/): entrada al ecosistema
- Design system StudioBlank (monocromo, acento #1B4332) en las 4 apps
- 123 tests vitest
This commit is contained in:
2026-08-21 22:27:36 +00:00
commit ecd4edac02
147 changed files with 27345 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
import type { AltaCliente } from '../types'
import { uuid } from '../lib/uuid'
export interface AltaClienteCreada {
id: string
}
/** Registra el alta de cliente en el backend */
export async function crearAltaCliente(payload: AltaCliente): Promise<AltaClienteCreada> {
// TODO: POST /api/clientes
await new Promise((resolve) => setTimeout(resolve, 400))
console.log('[api] crearAltaCliente (stub):', payload.datosGenerales.nombreCompleto)
return { id: uuid() }
}
/** Sube los documentos del expediente del cliente */
export async function subirDocumentos(clienteId: string, payload: AltaCliente): Promise<void> {
// TODO: POST multipart a /api/clientes/:id/documentos
await new Promise((resolve) => setTimeout(resolve, 200))
console.log(`[api] subirDocumentos (stub) cliente=${clienteId}:`, payload.documentos.length, 'archivos')
}