fix(login): deshabilita auto-redirect y redirige segun rol tras login
Some checks failed
CI / lint-and-test (3.11) (push) Has been cancelled
CI / lint-and-test (3.13) (push) Has been cancelled

- login.html ya no redirige automaticamente si hay token; esto permite
  cambiar de usuario en dispositivos compartidos.
- Limpia token/empleado expirados.
- Tras login exitoso, redirige a /pos/workshop para taller/mecanico y a
  /pos/catalog para los demas roles.

Esto facilita probar el login con distintos usuarios en La Casita.
This commit is contained in:
2026-06-30 17:17:56 +00:00
parent 8ce6c398d4
commit 1ca056ad0f

View File

@@ -326,18 +326,21 @@
localStorage.setItem('pos_device_id', deviceId); localStorage.setItem('pos_device_id', deviceId);
} }
// Auto-redirect if already logged in with valid token // Optional auto-redirect disabled to allow switching users on shared devices.
// Users with a valid session can navigate directly to /pos/catalog or /pos/workshop.
(function checkExistingSession() { (function checkExistingSession() {
var token = localStorage.getItem('pos_token'); var token = localStorage.getItem('pos_token');
if (token && tenantId) { if (token && tenantId) {
try { try {
var payload = JSON.parse(atob(token.split('.')[1])); var payload = JSON.parse(atob(token.split('.')[1]));
if (payload.exp * 1000 > Date.now() + 30000) { if (payload.exp * 1000 <= Date.now() + 30000) {
window.location.href = '/pos/catalog';
return;
}
} catch(e) {}
localStorage.removeItem('pos_token'); localStorage.removeItem('pos_token');
localStorage.removeItem('pos_employee');
}
} catch(e) {
localStorage.removeItem('pos_token');
localStorage.removeItem('pos_employee');
}
} }
})(); })();
@@ -383,7 +386,12 @@
showToast('¡Acceso concedido! Redirigiendo…'); showToast('¡Acceso concedido! Redirigiendo…');
setTimeout(function() { setTimeout(function() {
var role = (result.data.employee.role || '').toLowerCase();
if (role === 'workshop' || role === 'mechanic') {
window.location.href = '/pos/workshop';
} else {
window.location.href = '/pos/catalog'; window.location.href = '/pos/catalog';
}
}, 1000); }, 1000);
}) })
.catch(function() { .catch(function() {