34 lines
1.4 KiB
TypeScript
34 lines
1.4 KiB
TypeScript
/**
|
|
* Espejo del vocabulario del API (api-gateway/src/config/vocabulario.ts):
|
|
* DESARROLLOS es la lista canónica de desarrollos FRASA. Mantener sincronizado.
|
|
*/
|
|
export const DESARROLLOS = ['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA', 'SOLE', 'MUTUO'] as const
|
|
|
|
/** Plantillas de preguntas sugeridas, parametrizadas por desarrollo */
|
|
const PLANTILLAS: ((desarrollo: string) => string)[] = [
|
|
(d) => `¿Qué modelos hay en el catálogo ${d}?`,
|
|
(d) => `¿Qué incluye la propuesta del cotizador ${d}?`,
|
|
(d) => `¿Cuál es la disponibilidad de unidades en ${d}?`,
|
|
(d) => `¿Qué amenidades y ubicación tiene ${d}?`,
|
|
]
|
|
|
|
/** Día del año (1..366) para la rotación diaria */
|
|
function diaDelAnio(fecha: Date): number {
|
|
const inicio = Date.UTC(fecha.getFullYear(), 0, 1)
|
|
const actual = Date.UTC(fecha.getFullYear(), fecha.getMonth(), fecha.getDate())
|
|
return Math.round((actual - inicio) / 86_400_000) + 1
|
|
}
|
|
|
|
/**
|
|
* Preguntas sugeridas rotativas: cada una toma un desarrollo distinto
|
|
* (VOCABULARIO.DESARROLLOS) y la combinación avanza día con día, de modo que
|
|
* las sugerencias del chat rotan por desarrollo sin repetirse el mismo día.
|
|
*/
|
|
export function preguntasSugeridas(fecha: Date = new Date()): string[] {
|
|
const dia = diaDelAnio(fecha)
|
|
return PLANTILLAS.map((plantilla, i) => {
|
|
const desarrollo = DESARROLLOS[(dia + i) % DESARROLLOS.length]!
|
|
return plantilla(desarrollo)
|
|
})
|
|
}
|