This commit is contained in:
sebseb7
2025-07-20 04:46:01 +02:00
parent 102a4ec9ff
commit 9a0c985bfa
13 changed files with 1473 additions and 155 deletions

View File

@@ -18,13 +18,32 @@ class AuthService {
if (!response.ok) {
const errorData = await response.json().catch(() => ({}));
console.log('Server error response:', errorData);
const errorMessage = errorData.message || errorData.error || `HTTP ${response.status}: Login failed`;
throw new Error(errorMessage);
// Handle different types of errors with clearer messages
if (response.status === 502 || response.status === 503) {
throw new Error('FibDash Service nicht verfügbar - Bitte versuchen Sie es später erneut');
} else if (response.status === 500) {
throw new Error('FibDash Server Fehler - Bitte kontaktieren Sie den Administrator');
} else if (response.status === 403) {
const message = errorData.message || 'Zugriff verweigert';
throw new Error(message);
} else if (response.status === 401) {
throw new Error('Google-Anmeldung fehlgeschlagen - Bitte versuchen Sie es erneut');
} else {
const errorMessage = errorData.message || errorData.error || `HTTP ${response.status}: Unbekannter Fehler`;
throw new Error(errorMessage);
}
}
return await response.json();
} catch (error) {
console.error('Google login error:', error);
// Handle network errors (when backend is completely unreachable)
if (error instanceof TypeError && error.message.includes('fetch')) {
throw new Error('FibDash Service nicht erreichbar - Prüfen Sie Ihre Internetverbindung oder versuchen Sie es später erneut');
}
throw error;
}
}
@@ -39,12 +58,23 @@ class AuthService {
});
if (!response.ok) {
// Don't clear token for service unavailability - just return null
if (response.status === 502 || response.status === 503) {
console.warn('FibDash Service temporarily unavailable during token verification');
return null;
}
return null;
}
const data = await response.json();
return data.user;
} catch (error) {
// Handle network errors gracefully - don't clear token for temporary network issues
if (error instanceof TypeError && error.message.includes('fetch')) {
console.warn('Network error during token verification - service may be unavailable');
return null;
}
console.error('Token verification error:', error);
return null;
}