import axios from 'axios'; const API_URL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:5000/api'; const api = axios.create({ baseURL: API_URL, headers: { 'Content-Type': 'application/json', }, }); // Request interceptor to add authorization header api.interceptors.request.use( (config) => { const token = localStorage.getItem('token'); if (token) { config.headers.Authorization = `Bearer ${token}`; } return config; }, (error) => Promise.reject(error) ); // Response interceptor to handle errors api.interceptors.response.use( (response) => response, (error) => { // Handle 401 unauthorized errors if (error.response && error.response.status === 401) { localStorage.removeItem('token'); localStorage.removeItem('user'); if (typeof window !== 'undefined') { window.location.href = '/login'; } } return Promise.reject(error); } ); export default api;