Actualizar index.html

This commit is contained in:
2026-02-28 20:04:02 +00:00
parent 2b2a05ce12
commit 3f55d9754a

View File

@@ -435,13 +435,14 @@
// ==========================================
async function calculateClientETA(serviceId, destAddress) {
const container = document.getElementById(`eta-container-${serviceId}`);
if (!container) return;
try {
const res = await fetch(`${API_URL}/public/portal/${urlToken}/location/${serviceId}`);
const data = await res.json();
if (!data.ok || !data.location) {
container.innerHTML = `<p class="text-xs font-bold text-indigo-600 leading-tight">El técnico está conduciendo hacia tu domicilio.</p>`;
container.innerHTML = `<p class="text-xs font-bold text-indigo-600 leading-tight">El técnico está en camino hacia tu domicilio.</p>`;
return;
}
@@ -469,19 +470,20 @@
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
const km = R * c;
// Tiempo basado directamente en la distancia (sin restar)
const totalMins = Math.round((km/35)*60) + 5;
let remainingMins = totalMins;
// Simplemente asignamos el tiempo basado en la distancia real
let remainingMins = totalMins;
// Porcentaje visual para la barra animada
let progressPercent = 5;
if (data.location.updated_at) {
const startedAt = new Date(data.location.updated_at).getTime();
if (!isNaN(startedAt)) {
const diffMins = Math.floor((new Date().getTime() - startedAt) / 60000);
progressPercent = (diffMins / totalMins) * 100;
}
}
// Calculamos el tiempo transcurrido solo para animar la barra de progreso
const startedAt = new Date(data.location.updated_at).getTime();
const diffMins = Math.floor((new Date().getTime() - startedAt) / 60000);
let progressPercent = (diffMins / totalMins) * 100;
if (remainingMins < 1) remainingMins = 1;
let progressPercent = (diffMins / totalMins) * 100;
if (progressPercent > 95) progressPercent = 95;
if (progressPercent < 5) progressPercent = 5;
@@ -501,10 +503,11 @@ let progressPercent = (diffMins / totalMins) * 100;
`;
lucide.createIcons();
} else {
container.innerHTML = `<p class="text-xs font-bold text-indigo-600 leading-tight">El técnico está conduciendo hacia tu domicilio.</p>`;
container.innerHTML = `<p class="text-xs font-bold text-indigo-600 leading-tight">El técnico está en camino hacia tu domicilio.</p>`;
}
} catch(e) {
container.innerHTML = `<p class="text-xs font-bold text-indigo-600 leading-tight">El técnico está conduciendo hacia tu domicilio.</p>`;
console.error("Error de GPS: ", e);
if (container) container.innerHTML = `<p class="text-xs font-bold text-indigo-600 leading-tight">El técnico está de camino.</p>`;
}
}
</script>