Improve authentication flow and navigation handling
- Replace never-resolving promise with rejection - Remove unnecessary setTimeout in navigation
This commit is contained in:
@@ -186,8 +186,9 @@ axiosInstance.interceptors.response.use(
|
|||||||
}
|
}
|
||||||
// For other APIs, navigate to login page
|
// For other APIs, navigate to login page
|
||||||
navigationService.navigateToLogin();
|
navigationService.navigateToLogin();
|
||||||
// Return a never-resolving promise to prevent further execution
|
|
||||||
return new Promise(() => {});
|
// return a reject Promise
|
||||||
|
return Promise.reject(new Error('Authentication required'));
|
||||||
}
|
}
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`${error.response.status} ${error.response.statusText}\n${JSON.stringify(
|
`${error.response.status} ${error.response.statusText}\n${JSON.stringify(
|
||||||
|
@@ -67,14 +67,10 @@ class NavigationService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// First navigate to login page
|
|
||||||
this.navigate('/login');
|
|
||||||
|
|
||||||
// Then reset state after navigation
|
|
||||||
setTimeout(() => {
|
|
||||||
this.resetAllApplicationState();
|
this.resetAllApplicationState();
|
||||||
useAuthStore.getState().logout();
|
useAuthStore.getState().logout();
|
||||||
}, 0);
|
|
||||||
|
this.navigate('/login');
|
||||||
}
|
}
|
||||||
|
|
||||||
navigateToHome() {
|
navigateToHome() {
|
||||||
|
Reference in New Issue
Block a user