🔧 Improve error handling and messaging for tournament detail loading

This commit is contained in:
2026-01-29 14:33:07 +00:00
parent d698705352
commit f11ca388f8

View File

@@ -84,7 +84,29 @@ const props = defineProps({
const errorMessage = computed(() => { const errorMessage = computed(() => {
if (!props.error) return ''; if (!props.error) return '';
if (typeof props.error === 'string') return props.error; if (typeof props.error === 'string') return props.error;
return props.error.message || 'An error occurred';
// Try to extract useful error info
const err = props.error;
if (err.message) {
// Check if it's a network error
if (err.message.includes('Load failed') || err.message.includes('fetch')) {
return 'Failed to load tournament details. Check your network connection or API credentials.';
}
return err.message;
}
// Check for response errors
if (err.response) {
const status = err.response.status || err.status;
if (status === 401) return 'Authentication failed. Check your API key.';
if (status === 403) return 'Access forbidden. You may not have permission to view this tournament.';
if (status === 404) return 'Tournament not found.';
if (status >= 500) return `Server error (${status}). Please try again later.`;
return `Error ${status}: ${err.response.statusText || 'Request failed'}`;
}
// Fallback
return err.toString() || 'An error occurred loading tournament details';
}); });
/** /**