fix: check response.ok before parsing JSON in fetch calls

Fix JSON parsing errors when server returns non-JSON responses:
- Check response.ok before calling response.json()
- Add fallback error messages using status text
- Apply fix to all fetch calls across 12 components

This prevents 'JSON.parse: unexpected character' errors when
server returns HTML error pages or other non-JSON responses.
This commit is contained in:
2026-04-03 19:27:10 -07:00
parent ec798fc29d
commit 5763534e26
12 changed files with 812 additions and 226 deletions
+6 -3
View File
@@ -56,10 +56,13 @@ export default function EditTournamentForm({ tournament }: EditTournamentFormPro
}),
})
const data = await response.json()
if (!response.ok) {
setError(data.error || "Failed to update tournament")
try {
const data = await response.json()
setError(data.error || "Failed to update tournament")
} catch {
setError(`Failed to update tournament: ${response.status} ${response.statusText}`)
}
setIsLoading(false)
return
}