import axios from 'axios'; const API_BASE_URL = '/api'; export const apiClient = axios.create({ baseURL: API_BASE_URL, withCredentials: true, }); apiClient.interceptors.request.use( (config) => { const token = localStorage.getItem('authToken'); if (token) { config.headers['Authorization'] = `Bearer ${token}`; } return config; }, (error) => Promise.reject(error) ); apiClient.interceptors.response.use( (response) => response, async (error) => { if (error.response && error.response.status === 401) { localStorage.removeItem('authToken'); localStorage.removeItem('user'); delete apiClient.defaults.headers.common['Authorization']; window.dispatchEvent(new CustomEvent('unauthorized')); window.location.href = '/login'; } return Promise.reject(error); } ); export default apiClient;