public/js/admin.js aktualisiert

This commit is contained in:
M_Viper 2024-10-22 16:27:52 +00:00
parent 8244ac1858
commit 57d17e1569
1 changed files with 71 additions and 61 deletions

View File

@ -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 = '<p>Keine Benutzer vorhanden.</p>';
} 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 = '<p>Keine Benutzer vorhanden.</p>';
} 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 += `
<div class="user-item ${className}">
<p><strong>Benutzername:</strong> ${user.username}</p>
<p><strong>Benachrichtigungen:</strong> ${user.notifications ? 'Aktiviert' : 'Deaktiviert'}</p>
<p><strong>Erstnutzung:</strong> ${user.firstUsed}</p>
<p><strong>Lieblingsgenre:</strong> ${user.favoriteGenre || 'Nicht festgelegt'}</p>
<p><strong>Befehlsanzahl:</strong> ${user.commandCount}</p>
<p><strong>Benutzerlevel:</strong> ${user.userLevel}</p>
<button class="delete-user" data-user-id="${user.userId}">Löschen</button>
</div>
<hr>
`;
});
// 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 = '<p>Fehler beim Laden der Benutzerinformationen.</p>';
usersDiv.innerHTML += `
<div class="user-item ${className}">
<p><strong>Benutzername:</strong> ${user.username}</p>
<p><strong>Benutzerlevel:</strong> ${user.userLevel}</p>
<p><strong>Benachrichtigungen:</strong> ${user.notifications ? 'Aktiviert' : 'Deaktiviert'}</p>
<p><strong>Nachtmodus:</strong> ${user.nightMode}</p> <!-- Nachtmodus-Anzeige -->
<p><strong>Befehlsanzahl:</strong> ${user.commandCount}</p>
<p><strong>Erstnutzung:</strong> ${user.firstUsed}</p>
<p><strong>Lieblingsgenres:</strong> ${favoriteGenres}</p>
<button class="delete-user" data-user-id="${user.userId}">Löschen</button>
</div>
<hr>
`;
});
}
// 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 = '<p>Fehler beim Laden der Benutzerinformationen.</p>';
});
}
// 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;