merge: bring in session-loop and dashboard fixes from main

This commit is contained in:
Fimeg
2025-10-31 18:36:28 -04:00
5 changed files with 20 additions and 9 deletions

View File

@@ -48,10 +48,12 @@ api.interceptors.request.use((config) => {
// Response interceptor to handle errors
api.interceptors.response.use(
(response: AxiosResponse) => response,
(error) => {
async (error) => {
if (error.response?.status === 401) {
// Clear token and redirect to login
const { useAuthStore } = await import('./store');
useAuthStore.getState().logout();
localStorage.removeItem('auth_token');
localStorage.removeItem('user');
window.location.href = '/login';
}
return Promise.reject(error);

View File

@@ -16,7 +16,11 @@ export const useAuthStore = create<AuthState>()(
token: null,
isAuthenticated: false,
setToken: (token) => set({ token, isAuthenticated: true }),
logout: () => set({ token: null, isAuthenticated: false }),
logout: () => {
localStorage.removeItem('auth_token');
localStorage.removeItem('user');
set({ token: null, isAuthenticated: false });
},
}),
{
name: 'auth-storage',