Improve authentication flow and navigation handling
- Replace never-resolving promise with rejection - Remove unnecessary setTimeout in navigation
This commit is contained in:
parent
176fd1e998
commit
3609dc5b26
2 changed files with 6 additions and 9 deletions
|
|
@ -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.resetAllApplicationState();
|
||||||
this.navigate('/login');
|
useAuthStore.getState().logout();
|
||||||
|
|
||||||
// Then reset state after navigation
|
this.navigate('/login');
|
||||||
setTimeout(() => {
|
|
||||||
this.resetAllApplicationState();
|
|
||||||
useAuthStore.getState().logout();
|
|
||||||
}, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
navigateToHome() {
|
navigateToHome() {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue