🔧 Improve error handling and messaging for tournament detail loading
This commit is contained in:
@@ -84,7 +84,29 @@ const props = defineProps({
|
||||
const errorMessage = computed(() => {
|
||||
if (!props.error) return '';
|
||||
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';
|
||||
});
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user