public/js/admin.js aktualisiert
This commit is contained in:
parent
8244ac1858
commit
57d17e1569
|
@ -662,76 +662,86 @@ setInterval(() => {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Funktion zum Laden der Benutzerinformationen
|
// Funktion zum Laden der Benutzerinformationen
|
||||||
function loadUsers() {
|
function loadUsers() {
|
||||||
fetch('/api/users') // API-Endpunkt für Benutzerinformationen
|
fetch('/api/users') // API-Endpunkt für Benutzerinformationen
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const usersDiv = document.getElementById('users-content');
|
const usersDiv = document.getElementById('users-content');
|
||||||
usersDiv.innerHTML = ''; // Vorherige Inhalte leeren
|
usersDiv.innerHTML = ''; // Vorherige Inhalte leeren
|
||||||
|
|
||||||
if (data.length === 0) {
|
if (data.length === 0) {
|
||||||
usersDiv.innerHTML = '<p>Keine Benutzer vorhanden.</p>';
|
usersDiv.innerHTML = '<p>Keine Benutzer vorhanden.</p>';
|
||||||
} else {
|
} else {
|
||||||
data.forEach((user, index) => {
|
data.forEach((user, index) => {
|
||||||
// Bestimme die Klasse basierend auf der Index-Position
|
// Bestimme die Klasse basierend auf der Index-Position
|
||||||
const className = index % 2 === 0 ? 'even' : 'odd'; // Klassen für gerade und ungerade Indizes
|
const className = index % 2 === 0 ? 'even' : 'odd'; // Klassen für gerade und ungerade Indizes
|
||||||
|
|
||||||
usersDiv.innerHTML += `
|
// Verwende favoriteGenres (Plural) und überprüfe, ob es Genres gibt
|
||||||
<div class="user-item ${className}">
|
const favoriteGenres = user.favoriteGenres ? user.favoriteGenres : (user.favoriteGenre || 'Nicht festgelegt');
|
||||||
<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>
|
|
||||||
`;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Event Listener für die Lösch-Buttons
|
usersDiv.innerHTML += `
|
||||||
document.querySelectorAll('.delete-user').forEach(button => {
|
<div class="user-item ${className}">
|
||||||
button.onclick = function() {
|
<p><strong>Benutzername:</strong> ${user.username}</p>
|
||||||
const userId = this.getAttribute('data-user-id');
|
<p><strong>Benutzerlevel:</strong> ${user.userLevel}</p>
|
||||||
deleteUser(userId);
|
<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>
|
||||||
.catch(error => {
|
<button class="delete-user" data-user-id="${user.userId}">Löschen</button>
|
||||||
console.error('Fehler beim Laden der Benutzer:', error);
|
</div>
|
||||||
document.getElementById('users-content').innerHTML = '<p>Fehler beim Laden der Benutzerinformationen.</p>';
|
<hr>
|
||||||
|
`;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
// Funktion zum Löschen eines Benutzers
|
// Event Listener für die Lösch-Buttons
|
||||||
function deleteUser(userId) {
|
document.querySelectorAll('.delete-user').forEach(button => {
|
||||||
if (confirm('Möchtest du diesen Benutzer wirklich löschen?')) {
|
button.onclick = function() {
|
||||||
fetch(`/api/users/${userId}`, {
|
const userId = this.getAttribute('data-user-id');
|
||||||
method: 'DELETE',
|
deleteUser(userId);
|
||||||
})
|
};
|
||||||
.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.');
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
|
.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;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue