diff --git a/pos/templates/login.html b/pos/templates/login.html
index 7608f7c..a7cf4b1 100644
--- a/pos/templates/login.html
+++ b/pos/templates/login.html
@@ -326,18 +326,21 @@
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() {
var token = localStorage.getItem('pos_token');
if (token && tenantId) {
try {
var payload = JSON.parse(atob(token.split('.')[1]));
- if (payload.exp * 1000 > Date.now() + 30000) {
- window.location.href = '/pos/catalog';
- return;
+ if (payload.exp * 1000 <= Date.now() + 30000) {
+ localStorage.removeItem('pos_token');
+ localStorage.removeItem('pos_employee');
}
- } catch(e) {}
- localStorage.removeItem('pos_token');
+ } catch(e) {
+ localStorage.removeItem('pos_token');
+ localStorage.removeItem('pos_employee');
+ }
}
})();
@@ -383,7 +386,12 @@
showToast('¡Acceso concedido! Redirigiendo…');
setTimeout(function() {
- window.location.href = '/pos/catalog';
+ var role = (result.data.employee.role || '').toLowerCase();
+ if (role === 'workshop' || role === 'mechanic') {
+ window.location.href = '/pos/workshop';
+ } else {
+ window.location.href = '/pos/catalog';
+ }
}, 1000);
})
.catch(function() {