-
+
+
+
+
-
Solicitud Enviada
-
Estamos revisando la ruta de tu técnico. Recibirás un mensaje en breve confirmando tu cita.
-
@@ -140,6 +144,15 @@
document.getElementById('hoursContainer').classList.add('hidden');
}
+ // --- FUNCIÓN HELPER PARA SUMAR 1 HORA ---
+ function addOneHour(timeStr) {
+ let [h, m] = timeStr.split(':').map(Number);
+ let totalMins = h * 60 + m + 60; // Sumamos 60 mins
+ let newH = Math.floor(totalMins / 60);
+ let newM = totalMins % 60;
+ return `${String(newH).padStart(2,'0')}:${String(newM).padStart(2,'0')}`;
+ }
+
function renderSlots() {
selectedDate = document.getElementById('daySelect').value;
selectedTime = null;
@@ -154,19 +167,31 @@
const slots = currentPreference === 'morning' ? dayObj.morning : dayObj.afternoon;
const grid = document.getElementById('slotsGrid');
- grid.innerHTML = slots.map(time => `
-
- ${time}
+
+ // Aquí calculamos el tramo y lo pintamos
+ grid.innerHTML = slots.map(time => {
+ const endTime = addOneHour(time);
+ return `
+
+ Llegada entre
+ ${time} - ${endTime}
- `).join('');
+ `;
+ }).join('');
document.getElementById('hoursContainer').classList.remove('hidden');
}
function selectTime(time, btnEl) {
selectedTime = time;
- document.querySelectorAll('.slot-btn').forEach(b => b.classList.remove('selected'));
- btnEl.classList.add('selected');
+ document.querySelectorAll('.slot-btn').forEach(b => {
+ b.classList.remove('selected', 'border-blue-500');
+ b.classList.add('border-slate-200', 'text-slate-600');
+ });
+
+ btnEl.classList.remove('border-slate-200', 'text-slate-600', 'hover:border-blue-300', 'hover:bg-blue-50');
+ btnEl.classList.add('selected', 'border-blue-500');
+
updateConfirmButton();
}
@@ -174,8 +199,10 @@
const btn = document.getElementById('btnConfirm');
if (selectedDate && selectedTime) {
btn.classList.remove('opacity-50', 'pointer-events-none');
+ btn.classList.add('active:scale-95');
} else {
btn.classList.add('opacity-50', 'pointer-events-none');
+ btn.classList.remove('active:scale-95');
}
}
@@ -185,7 +212,8 @@
const serviceId = urlParams.get('service');
const btn = document.getElementById('btnConfirm');
- btn.innerHTML = ' Guardando...';
+ const originalHtml = btn.innerHTML;
+ btn.innerHTML = ' Solicitando...';
lucide.createIcons();
try {
@@ -202,12 +230,12 @@
document.getElementById('successScreen').classList.add('flex');
} else {
alert("Error al confirmar la cita. Es posible que el hueco ya se haya ocupado.");
- btn.innerHTML = 'Confirmar Cita ';
+ btn.innerHTML = originalHtml;
lucide.createIcons();
}
} catch(e) {
alert("Error de conexión");
- btn.innerHTML = 'Confirmar Cita ';
+ btn.innerHTML = originalHtml;
lucide.createIcons();
}
}