import axios, { AxiosError } from "axios"; const apiClient = axios.create({ baseURL: "/api", headers: { "Content-Type": "application/json", }, withCredentials: true, }); // Response interceptor for error handling apiClient.interceptors.response.use( (response) => response, (error: AxiosError<{ error?: string; details?: unknown }>) => { // Let components handle authentication redirects via ProtectedRoute // Don't automatically redirect on 401 to avoid infinite loops const message = error.response?.data?.error || error.message || "An error occurred"; return Promise.reject(new Error(message)); }, ); export default apiClient;