39 lines
1.2 KiB
HTML
39 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ru">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<title>Дашборд — Админ-панель</title>
|
|
<link rel="stylesheet" href="admin.css">
|
|
</head>
|
|
<body data-page="dashboard">
|
|
<div class="layout">
|
|
<div class="sidebar" id="sidebar"></div>
|
|
<div class="main">
|
|
<h2>Дашборд</h2>
|
|
<div class="stats" id="stats"></div>
|
|
</div>
|
|
</div>
|
|
<div class="toast" id="toast"></div>
|
|
<script src="admin.js"></script>
|
|
<script>
|
|
async function loadDashboard() {
|
|
const res = await fetch(`${API}/api/stats`, { headers: hdr() });
|
|
const s = await res.json();
|
|
document.getElementById('stats').innerHTML = `
|
|
<div class="stat"><div class="num">${s.entries}</div><div class="label">Всего записей</div></div>
|
|
<div class="stat"><div class="num">${s.students}</div><div class="label">Студентов</div></div>
|
|
<div class="stat"><div class="num">${s.groups}</div><div class="label">Групп</div></div>
|
|
<div class="stat"><div class="num">${s.today}</div><div class="label">Сегодня</div></div>
|
|
`;
|
|
}
|
|
|
|
(async () => {
|
|
if (await checkAuth()) {
|
|
buildSidebar(document.body.dataset.page);
|
|
loadDashboard();
|
|
}
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html> |