diff --git a/index.html b/index.html index bedc961..bae5f52 100644 --- a/index.html +++ b/index.html @@ -212,24 +212,65 @@ } else if (srv.status_name === 'Visita Agendada' || (srv.scheduled_date && srv.scheduled_time)) { const endT = addOneHour(srv.scheduled_time); - statusHtml = ` -
-
-
- + + // --- NUEVA LÓGICA: DETECCIÓN DE RETRASO --- + const now = new Date(); + const schedParts = srv.scheduled_date.split('-'); // Formato esperado YYYY-MM-DD + const endTimeParts = endT.split(':'); // Formato esperado HH:MM + + let isLate = false; + + if (schedParts.length === 3 && endTimeParts.length === 2) { + // Construimos la fecha límite (la hora final del tramo de la cita) + const limitDate = new Date(schedParts[0], schedParts[1] - 1, schedParts[2], endTimeParts[0], endTimeParts[1], 0); + + // Si la fecha y hora actuales son mayores a la fecha límite, ¡Llega tarde! + if (now > limitDate) { + isLate = true; + } + } + + if (isLate) { + // ESTADO: RETRASADO (Tono naranja/ámbar para pedir disculpas suavemente) + statusHtml = ` +
+
+
+ +
+
+

Disculpe el retraso

+

Técnico Demorado

+

La cita estaba prevista hasta las ${endT}. El técnico ha tenido un contratiempo en la ruta anterior. Llegará lo antes posible.

+
-
-

Visita Confirmada

-

${formatDate(srv.scheduled_date)}

-

${srv.scheduled_time} - ${endT}

+ -
- - - Modificar Cita - -
`; - } +
`; + } else { + // ESTADO NORMAL: VISITA CONFIRMADA EN TIEMPO (Verde) + statusHtml = ` +
+
+
+ +
+
+

Visita Confirmada

+

${formatDate(srv.scheduled_date)}

+

${srv.scheduled_time} - ${endT}

+
+
+ + + Modificar Cita + +
`; + } + } else { statusHtml = `