import axios from 'axios' // Zentraler HTTP-Client für die Symfony-API. // Im Dev läuft alles über den Vite-Proxy (/api → :8080). const client = axios.create({ baseURL: import.meta.env.VITE_API_BASE_URL ?? '/api', headers: { Accept: 'application/ld+json', }, }) // JWT (falls vorhanden) an jede Anfrage hängen client.interceptors.request.use((config) => { const token = localStorage.getItem('token') if (token) { config.headers.Authorization = `Bearer ${token}` } return config }) // Bei abgelaufenem/ungültigem Token automatisch ausloggen client.interceptors.response.use( (res) => res, (error) => { const status = error?.response?.status const url: string = error?.config?.url ?? '' if (status === 401 && !url.includes('/login')) { localStorage.removeItem('token') localStorage.removeItem('user') if (location.pathname !== '/login') { location.href = '/login' } } return Promise.reject(error) }, ) export default client