webinterface/client/js/auth.js

68 lines
2.7 KiB
JavaScript
Raw Normal View History

2024-11-14 17:43:37 +01:00
import { showAlert } from './shared_functions.js';
2024-10-29 21:09:13 +01:00
// Registrierungs-Event
document.getElementById('registerForm').addEventListener('submit', async (event) => {
event.preventDefault();
const username = document.getElementById('regUsername').value;
const email = document.getElementById('regEmail').value;
const password = document.getElementById('regPassword').value;
try {
const response = await fetch('http://localhost:8015/api/auth/register', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ username, email, password })
});
const data = await response.json();
if (response.ok) {
2024-11-14 17:43:37 +01:00
showAlert('Registrierung erfolgreich! Bitte loggen Sie sich ein.', 'success');
2024-10-29 21:09:13 +01:00
} else {
2024-11-14 17:43:37 +01:00
showAlert(data.message || 'Registrierung fehlgeschlagen');
2024-10-29 21:09:13 +01:00
}
} catch (error) {
console.error('Fehler bei der Registrierung:', error);
2024-11-14 17:43:37 +01:00
// Check for network error
if (error.message.includes('Failed to fetch') || error.message.includes('ERR_CONNECTION_REFUSED')) {
showAlert('Verbindungsfehler: Die Verbindung zum Server wurde abgelehnt. Bitte überprüfen Sie die Serververbindung.');
} else {
showAlert('Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.');
}
2024-10-29 21:09:13 +01:00
}
});
// Login-Event
document.getElementById('loginForm').addEventListener('submit', async (event) => {
event.preventDefault();
const email = document.getElementById('loginEmail').value;
const password = document.getElementById('loginPassword').value;
try {
const response = await fetch('http://localhost:8015/api/auth/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, password })
});
const data = await response.json();
if (response.ok) {
localStorage.setItem('token', data.token); // Token speichern
window.location.href = 'welcome.html'; // Weiterleitung zur Willkommensseite
} else {
2024-11-14 17:43:37 +01:00
showAlert(data.message || 'Login fehlgeschlagen');
2024-10-29 21:09:13 +01:00
}
} catch (error) {
console.error('Fehler beim Login:', error);
2024-11-14 17:43:37 +01:00
// Check for network error
if (error.message.includes('Failed to fetch') || error.message.includes('ERR_CONNECTION_REFUSED')) {
showAlert('Verbindungsfehler: Die Verbindung zum Server wurde abgelehnt. Bitte überprüfen Sie die Serververbindung.');
} else {
showAlert('Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.');
}
2024-10-29 21:09:13 +01:00
}
});
2024-11-14 17:43:37 +01:00