+
@@ -272,9 +468,19 @@
No tienes avisos pendientes de agendar.
`;
lucide.createIcons();
+
+ // Si tampoco hay peticiones, ocultamos el título "Pendientes de fecha"
+ if (pendingRequests.length === 0) {
+ noDateSec.querySelector('h2').classList.add('hidden');
+ } else {
+ noDateSec.classList.add('hidden');
+ }
return;
}
+ noDateSec.classList.remove('hidden');
+ noDateSec.querySelector('h2').classList.remove('hidden');
+
container.innerHTML = localServices.map(s => {
const raw = s.raw_data || {};
const name = raw["Nombre Cliente"] || raw["CLIENTE"] || "Asegurado";
@@ -327,6 +533,26 @@
let min = (m % 60).toString().padStart(2, '0');
return `${h}:${min}`;
}
+
+ function addOneHour(timeStr) {
+ if(!timeStr) return "";
+ let [h, m] = timeStr.split(':').map(Number);
+ let totalMins = h * 60 + m + 60;
+ let newH = Math.floor(totalMins / 60);
+ let newM = totalMins % 60;
+ return `${String(newH).padStart(2,'0')}:${String(newM).padStart(2,'0')}`;
+ }
+
+ function formatDate(dateStr) {
+ if (!dateStr) return "";
+ try {
+ const parts = dateStr.split('-');
+ if(parts.length !== 3) return dateStr;
+ const d = new Date(parts[0], parts[1]-1, parts[2]);
+ const opciones = { weekday: 'long', day: 'numeric', month: 'short' };
+ return d.toLocaleDateString('es-ES', opciones);
+ } catch(e) { return dateStr; }
+ }
function buildDayCarousel() {
const container = document.getElementById('dayCarousel');
@@ -419,8 +645,8 @@
let startMins = timeToMins(startStr);
let endMins = timeToMins(endStr);
- // Saltos de 15 minutos
- for (let m = startMins; m + duration <= endMins; m += 15) {
+ // Saltos de 30 minutos (igual que en buscar.html)
+ for (let m = startMins; m + duration <= endMins; m += 30) {
if (!isOverlapping(m, m + duration, occupied)) {
const timeStr = minsToTime(m);
const isSelected = timeStr === pickerSelectedTime;
@@ -447,7 +673,7 @@
grid.classList.remove('hidden');
}
- // Si la hora que estaba seleccionada ya no sale (porque ampliaron la duración), la borramos
+ // Si la hora que estaba seleccionada ya no sale, la borramos
if (pickerSelectedTime && !grid.innerHTML.includes(`'${pickerSelectedTime}'`)) {
pickerSelectedTime = "";
}
@@ -456,7 +682,7 @@
}
// ==========================================
- // APERTURA DE MODAL Y GUARDADO
+ // APERTURA DE MODAL Y GUARDADO (MANUAL)
// ==========================================
function openActionModal(id) {
const s = localServices.find(x => x.id === id);
@@ -487,9 +713,9 @@
content.classList.remove('translate-y-full');
}
- function closeModal() {
- const modal = document.getElementById('actionModal');
- const content = document.getElementById('modalContent');
+ function closeModal(modalId, contentId) {
+ const modal = document.getElementById(modalId);
+ const content = document.getElementById(contentId);
modal.classList.add('opacity-0');
content.classList.add('translate-y-full');
@@ -537,7 +763,7 @@
if (res.ok) {
showToast("Cita Agendada en Calendario");
- closeModal();
+ closeModal('actionModal', 'modalContent');
refreshData();
} else {
alert("Error al guardar la cita.");