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() {