🔧 Improve error handling and messaging for tournament detail loading
This commit is contained in:
@@ -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';
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user