Feat: Se modifican visual de menú reportes
- Se limita la visual del menú de reportes a los usuarios según los permisos de acceso. - Se soluciona bug en mensaje al ingresar usuario y/o clave inválidos.
This commit is contained in:
@@ -33,19 +33,18 @@ apiClient.interceptors.response.use(
|
||||
(error) => {
|
||||
// Cualquier código de estado que este fuera del rango de 2xx causa la ejecución de esta función
|
||||
if (axios.isAxiosError(error) && error.response) {
|
||||
if (error.response.status === 401) {
|
||||
// Token inválido o expirado
|
||||
console.warn("Error 401: Token inválido o expirado. Deslogueando...");
|
||||
// Verificamos si la petición fallida NO fue al endpoint de login.
|
||||
const isLoginAttempt = error.config?.url?.endsWith('/auth/login');
|
||||
|
||||
// Solo activamos el deslogueo automático si el error 401 NO es de un intento de login.
|
||||
if (error.response.status === 401 && !isLoginAttempt) {
|
||||
console.warn("Error 401 (Token inválido o expirado) detectado. Deslogueando...");
|
||||
|
||||
// Limpiar localStorage y recargar la página.
|
||||
// AuthContext se encargará de redirigir a /login al recargar porque no encontrará token.
|
||||
localStorage.removeItem('authToken');
|
||||
localStorage.removeItem('authUser'); // Asegurar limpiar también el usuario
|
||||
// Forzar un hard refresh para que AuthContext se reinicialice y redirija
|
||||
// Esto también limpiará cualquier estado de React.
|
||||
// --- Mostrar mensaje antes de redirigir ---
|
||||
localStorage.removeItem('authUser');
|
||||
|
||||
alert("Tu sesión ha expirado o no es válida. Serás redirigido a la página de inicio de sesión.");
|
||||
window.location.href = '/login'; // Redirección más directa
|
||||
window.location.href = '/login';
|
||||
}
|
||||
}
|
||||
// Es importante devolver el error para que el componente que hizo la llamada pueda manejarlo también si es necesario
|
||||
|
||||
Reference in New Issue
Block a user