/** * Utility för att parse HTTP-responses och extrahera tydliga felmeddelanden */ export async function parseErrorResponse(response: Response): Promise { const status = response.status; try { const data = await response.json(); // Om backend skickade ett felmeddelande if (data.message) { return data.message; } if (data.error) { return data.error; } if (data.details) { return data.details; } } catch { // Inte JSON, försök text try { const text = await response.text(); if (text && text.length < 200) { return text; } } catch { // Inget text-innehål } } // Fallback baserat på HTTP-status const defaultMessages: Record = { 400: 'Ogiltiga data. Kontrollera dina inmatningar.', 401: 'Du är inte autentiserad. Logga in.', 403: 'Du har inte behörighet till detta.', 404: 'Resursen hittades inte.', 409: 'Konflikten med befintlig data.', 422: 'Valideringen misslyckades. Kontrollera dina inmatningar.', 500: 'Serverfel. Försök igen senare.', 503: 'Tjänsten är inte tillgänglig.', }; return defaultMessages[status] || `Fel (${status}). Försök igen senare.`; }