feat: calendario mensual para reservar turnos
Deploy / deploy (push) Successful in 4m3s

- Reemplaza lista de slots por calendario cuadrado mensual
- Sábados y domingos grisados, días sin slots deshabilitados
- Click en día hábil abre modal con horarios disponibles
- Slot dot indicator en días con turnos disponibles
- Amplía búsqueda a 60 días / 500 slots para cubrir todo el mes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Beldor
2026-06-22 23:33:29 -03:00
parent 4a6023f9f3
commit 0497e936a4
3 changed files with 257 additions and 124 deletions
+3 -2
View File
@@ -68,7 +68,8 @@ export interface SlotDisponible {
export async function obtenerSlotsDisponibles(
duracionHoras: number,
diasAdelante = 14
diasAdelante = 14,
limite = 300
): Promise<SlotDisponible[]> {
const slots: SlotDisponible[] = [];
const ahora = new Date();
@@ -83,7 +84,7 @@ export async function obtenerSlotsDisponibles(
cursor = new Date(cursor.getTime() + avanzarMin * 60 * 1000);
cursor.setUTCSeconds(0, 0);
while (cursor < fechaLimite && slots.length < 20) {
while (cursor < fechaLimite && slots.length < limite) {
if (!esDiaHabil(cursor)) {
cursor = inicioJornada(new Date(cursor.getTime() + 24 * 60 * 60 * 1000));
continue;