/** * Нормализует ошибку API в строку. * Обрабатывает форматы: `data.error`, `error`, строку, массив и объект с вложенными значениями. */ export function parseApiError(error: any): string { const fallback = 'Unknown error occurred.'; try { const raw = error?.response?._data; const parsed = typeof raw === 'string' ? JSON.parse(raw) : raw; const message = parsed?.data?.error || parsed?.error || error?.message || fallback; if (typeof message === 'string') return message; if (Array.isArray(message)) return message[0] || fallback; if (typeof message === 'object') return Object.values(message).flat()[0] as string || fallback; } catch (parseError) { console.warn('Failed to parse error._data', parseError); } return fallback; }