diff --git a/public/js/admin.js b/public/js/admin.js index 448c0a1..94f1f20 100644 --- a/public/js/admin.js +++ b/public/js/admin.js @@ -662,76 +662,86 @@ setInterval(() => { } - // Funktion zum Laden der Benutzerinformationen - function loadUsers() { - fetch('/api/users') // API-Endpunkt für Benutzerinformationen - .then(response => response.json()) - .then(data => { - const usersDiv = document.getElementById('users-content'); - usersDiv.innerHTML = ''; // Vorherige Inhalte leeren + // Funktion zum Laden der Benutzerinformationen +function loadUsers() { + fetch('/api/users') // API-Endpunkt für Benutzerinformationen + .then(response => response.json()) + .then(data => { + const usersDiv = document.getElementById('users-content'); + usersDiv.innerHTML = ''; // Vorherige Inhalte leeren - if (data.length === 0) { - usersDiv.innerHTML = '

Keine Benutzer vorhanden.

'; - } else { - data.forEach((user, index) => { - // Bestimme die Klasse basierend auf der Index-Position - const className = index % 2 === 0 ? 'even' : 'odd'; // Klassen für gerade und ungerade Indizes + if (data.length === 0) { + usersDiv.innerHTML = '

Keine Benutzer vorhanden.

'; + } else { + data.forEach((user, index) => { + // Bestimme die Klasse basierend auf der Index-Position + const className = index % 2 === 0 ? 'even' : 'odd'; // Klassen für gerade und ungerade Indizes - usersDiv.innerHTML += ` -
-

Benutzername: ${user.username}

-

Benachrichtigungen: ${user.notifications ? 'Aktiviert' : 'Deaktiviert'}

-

Erstnutzung: ${user.firstUsed}

-

Lieblingsgenre: ${user.favoriteGenre || 'Nicht festgelegt'}

-

Befehlsanzahl: ${user.commandCount}

-

Benutzerlevel: ${user.userLevel}

- -
-
- `; - }); + // Verwende favoriteGenres (Plural) und überprüfe, ob es Genres gibt + const favoriteGenres = user.favoriteGenres ? user.favoriteGenres : (user.favoriteGenre || 'Nicht festgelegt'); - // Event Listener für die Lösch-Buttons - document.querySelectorAll('.delete-user').forEach(button => { - button.onclick = function() { - const userId = this.getAttribute('data-user-id'); - deleteUser(userId); - }; - }); - } - }) - .catch(error => { - console.error('Fehler beim Laden der Benutzer:', error); - document.getElementById('users-content').innerHTML = '

Fehler beim Laden der Benutzerinformationen.

'; + usersDiv.innerHTML += ` +
+

Benutzername: ${user.username}

+

Benutzerlevel: ${user.userLevel}

+

Benachrichtigungen: ${user.notifications ? 'Aktiviert' : 'Deaktiviert'}

+

Nachtmodus: ${user.nightMode}

+

Befehlsanzahl: ${user.commandCount}

+

Erstnutzung: ${user.firstUsed}

+

Lieblingsgenres: ${favoriteGenres}

+ +
+
+ `; }); - } - // Funktion zum Löschen eines Benutzers - function deleteUser(userId) { - if (confirm('Möchtest du diesen Benutzer wirklich löschen?')) { - fetch(`/api/users/${userId}`, { - method: 'DELETE', - }) - .then(response => response.json()) - .then(data => { - alert(data.message); - loadUsers(); // Nach dem Löschen die Benutzerliste neu laden - }) - .catch(error => { - console.error('Fehler beim Löschen des Benutzers:', error); - alert('Fehler beim Löschen des Benutzers.'); + // Event Listener für die Lösch-Buttons + document.querySelectorAll('.delete-user').forEach(button => { + button.onclick = function() { + const userId = this.getAttribute('data-user-id'); + deleteUser(userId); + }; }); } - } + }) + .catch(error => { + console.error('Fehler beim Laden der Benutzer:', error); + document.getElementById('users-content').innerHTML = '

Fehler beim Laden der Benutzerinformationen.

'; + }); +} + +// Funktion zum Löschen eines Benutzers +function deleteUser(userId) { + if (confirm('Möchtest du diesen Benutzer wirklich löschen?')) { + fetch(`/api/users/${userId}`, { + method: 'DELETE', + }) + .then(response => response.json()) + .then(data => { + alert(data.message); + loadUsers(); // Nach dem Löschen die Benutzerliste neu laden + }) + .catch(error => { + console.error('Fehler beim Löschen des Benutzers:', error); + alert('Fehler beim Löschen des Benutzers.'); + }); + } +} + +// Funktion zum Starten der automatischen Aktualisierung +function startAutoRefresh() { + loadUsers(); // Einmaliges Laden der Benutzer beim Start + setInterval(loadUsers, 10000); // Alle 10 Sekunden aktualisieren +} + +// Stelle sicher, dass die Funktion beim Laden der Seite aufgerufen wird +window.onload = startAutoRefresh; + + + + - // Funktion zum Starten der automatischen Aktualisierung - function startAutoRefresh() { - loadUsers(); // Einmaliges Laden der Benutzer beim Start - setInterval(loadUsers, 10000); // Alle 10 Sekunden aktualisieren - } - // Stelle sicher, dass die Funktion beim Laden der Seite aufgerufen wird - window.onload = startAutoRefresh;