diff --git a/calendario.html b/calendario.html
index aede58e..b407daf 100644
--- a/calendario.html
+++ b/calendario.html
@@ -226,14 +226,25 @@
return true;
});
- const events = filtered.map(s => ({
- id: s.id,
- title: `${s.contact_name} ${s.assigned_name ? '('+s.assigned_name.split(' ')[0]+')' : ''}`,
- start: s.scheduled_date + (s.scheduled_time ? 'T' + s.scheduled_time : ''),
- backgroundColor: colorMap[s.status_color] || '#6b7280',
- borderColor: colorMap[s.status_color] || '#6b7280',
- extendedProps: { ...s } // Guardamos todo el objeto servicio
- }));
+ // ... dentro de events: async function ...
+const events = filtered.map(s => {
+ // CORRECCIÓN: Aseguramos que la fecha sea solo YYYY-MM-DD
+ // Si viene como "2026-02-11T00:00:00.000Z", nos quedamos solo con la primera parte.
+ const cleanDate = s.scheduled_date ? s.scheduled_date.split('T')[0] : null;
+
+ // Si no hay fecha válida, no mostramos el evento para evitar errores
+ if (!cleanDate) return null;
+
+ return {
+ id: s.id,
+ title: `${s.contact_name} ${s.assigned_name ? '('+s.assigned_name.split(' ')[0]+')' : ''}`,
+ // Ahora concatenamos limpio: "2026-02-11" + "T" + "09:00:00"
+ start: cleanDate + (s.scheduled_time ? 'T' + s.scheduled_time : ''),
+ backgroundColor: colorMap[s.status_color] || '#6b7280',
+ borderColor: colorMap[s.status_color] || '#6b7280',
+ extendedProps: { ...s }
+ };
+}).filter(e => e !== null); // Filtramos los nulos por seguridad
successCallback(events);
} catch(e) { failureCallback(e); }