import axios from "axios"; import { API_BASE_URL } from "../config"; const api = axios.create({ baseURL: API_BASE_URL, headers: { "Content-Type": "application/json", }, }); api.interceptors.request.use((config => { const token = localStorage.getItem("token"); if (token) { config.headers["Authorization"] = `Bearer ${token}`; } return config; })); api.interceptors.response.use( response => response, error => { const payload = error.response?.data; const normalizedMessage = payload?.error?.message || payload?.message; if (payload?.error?.message && payload.message === undefined) { payload.message = payload.error.message; } if (error.response?.status === 401 && normalizedMessage === "Invalid or expired token") { localStorage.removeItem("token"); window.location.href = "/login"; alert("Your session has expired. Please log in again."); } return Promise.reject(error); } ); export default api;