Statistik backend and favicon
This commit is contained in:
@@ -6,6 +6,7 @@ let currentData = [];
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
checkAuth();
|
||||
loadStatistics();
|
||||
loadPageStatistics();
|
||||
setupEventListeners();
|
||||
});
|
||||
|
||||
@@ -87,6 +88,66 @@ async function loadStatistics() {
|
||||
}
|
||||
}
|
||||
|
||||
async function loadPageStatistics() {
|
||||
try {
|
||||
const response = await fetch('/api/admin-page-stats');
|
||||
const result = await response.json();
|
||||
|
||||
if (result.success) {
|
||||
const data = result.data;
|
||||
|
||||
// Display page view statistics
|
||||
displayPageStats('todayStats', data.today);
|
||||
displayPageStats('weekStats', data.week);
|
||||
displayPageStats('monthStats', data.month);
|
||||
displayPageStats('totalStats', data.total);
|
||||
|
||||
// Display link statistics
|
||||
if (data.linkStats) {
|
||||
document.getElementById('totalPlayersCount').textContent = data.linkStats.total_players || 0;
|
||||
document.getElementById('linkedPlayersCount').textContent = data.linkStats.linked_players || 0;
|
||||
document.getElementById('linkPercentage').textContent = `${data.linkStats.link_percentage || 0}%`;
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to load page statistics:', error);
|
||||
// Show error in all stat containers
|
||||
['todayStats', 'weekStats', 'monthStats', 'totalStats'].forEach(id => {
|
||||
document.getElementById(id).innerHTML = '<div style="color: #dc3545;">Fehler beim Laden</div>';
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function displayPageStats(containerId, stats) {
|
||||
const container = document.getElementById(containerId);
|
||||
|
||||
if (!stats || stats.length === 0) {
|
||||
container.innerHTML = '<div style="color: #6c757d;">0</div>';
|
||||
return;
|
||||
}
|
||||
|
||||
// Find main page visits
|
||||
const mainPageStat = stats.find(stat => stat.page === 'main_page_visit');
|
||||
const count = mainPageStat ? mainPageStat.count : 0;
|
||||
|
||||
container.innerHTML = `<div style="font-size: 1.5em; font-weight: bold; color: #1e3c72;">${count}</div>`;
|
||||
}
|
||||
|
||||
function getPageDisplayName(page) {
|
||||
const pageNames = {
|
||||
'main_page_visit': '🏠 Hauptseiten-Besuche',
|
||||
'home': '🏠 Hauptseite',
|
||||
'login': '🔐 Login',
|
||||
'dashboard': '📊 Dashboard',
|
||||
'admin_login': '🛡️ Admin Login',
|
||||
'admin_dashboard': '🛡️ Admin Dashboard',
|
||||
'license_generator': '🔧 Lizenzgenerator',
|
||||
'reset_password': '🔑 Passwort Reset'
|
||||
};
|
||||
|
||||
return pageNames[page] || page;
|
||||
}
|
||||
|
||||
function showUserManagement() {
|
||||
showDataSection('users', 'Benutzer-Verwaltung');
|
||||
loadUsers();
|
||||
|
||||
Reference in New Issue
Block a user