- 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
10 lines
344 B
TypeScript
10 lines
344 B
TypeScript
/** Días naturales de vigencia de la cotización (igual que en el PDF) */
|
|
export const VIGENCIA_DIAS = 3
|
|
|
|
/** Fecha límite de vigencia: fecha de emisión + 3 días naturales */
|
|
export function calcularVigencia(hoy: Date = new Date()): Date {
|
|
const limite = new Date(hoy)
|
|
limite.setDate(limite.getDate() + VIGENCIA_DIAS)
|
|
return limite
|
|
}
|