// Автоматическое определение API URL без необходимости env переменных // Работает на localhost, IP адресе или доменном имени const API_CONFIG = { // Определяй базовый URL на основе текущего location // Фронтенд обращается к /api, nginx перенаправляет на backend внутри Docker сети getBaseUrl: () => { // Используем относительный путь /api вместо абсолютного URL // Например: http://localhost:3000/api или http://185.56.162.170:8080/api return '/api'; }, // Получить полный URL для API запроса getApiUrl: (endpoint) => { const baseUrl = API_CONFIG.getBaseUrl(); // Убираем слэш в начале endpoint если есть const cleanEndpoint = endpoint.startsWith('/') ? endpoint.slice(1) : endpoint; return `${baseUrl}/${cleanEndpoint}`; }, // Хелпер для fetch запросов fetch: async (endpoint, options = {}) => { const url = API_CONFIG.getApiUrl(endpoint); const defaultHeaders = { 'Content-Type': 'application/json', }; const response = await fetch(url, { ...options, headers: { ...defaultHeaders, ...options.headers, }, }); if (!response.ok) { throw new Error(`API Error: ${response.status} ${response.statusText}`); } return response.json(); }, }; export default API_CONFIG;