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