119 lines
5.0 KiB
HTML
119 lines
5.0 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ru">
|
||
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Админ-панель</title>
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||
<link rel="stylesheet" href="admin.css">
|
||
</head>
|
||
|
||
<body>
|
||
<!-- Sidebar -->
|
||
<aside class="sidebar">
|
||
<div class="sidebar-header">
|
||
<div class="logo">
|
||
<svg width="32" height="32" viewBox="0 0 40 40" fill="none">
|
||
<rect width="40" height="40" rx="12" fill="url(#lg)" />
|
||
<path d="M12 20L18 26L28 14" stroke="#fff" stroke-width="3" stroke-linecap="round"
|
||
stroke-linejoin="round" />
|
||
<defs>
|
||
<linearGradient id="lg" x1="0" y1="0" x2="40" y2="40">
|
||
<stop stop-color="#6366f1" />
|
||
<stop offset="1" stop-color="#8b5cf6" />
|
||
</linearGradient>
|
||
</defs>
|
||
</svg>
|
||
<span>Magistr</span>
|
||
</div>
|
||
</div>
|
||
<nav class="sidebar-nav">
|
||
<a href="/admin/" class="nav-item active">
|
||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
||
stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" />
|
||
<circle cx="9" cy="7" r="4" />
|
||
<path d="M23 21v-2a4 4 0 0 0-3-3.87" />
|
||
<path d="M16 3.13a4 4 0 0 1 0 7.75" />
|
||
</svg>
|
||
Пользователи
|
||
</a>
|
||
</nav>
|
||
<div class="sidebar-footer">
|
||
<button class="btn-logout" id="btn-logout">
|
||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
||
stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" />
|
||
<polyline points="16 17 21 12 16 7" />
|
||
<line x1="21" y1="12" x2="9" y2="12" />
|
||
</svg>
|
||
Выйти
|
||
</button>
|
||
</div>
|
||
</aside>
|
||
|
||
<!-- Main -->
|
||
<main class="main">
|
||
<header class="topbar">
|
||
<h1>Управление пользователями</h1>
|
||
</header>
|
||
|
||
<section class="content">
|
||
<!-- Create User Card -->
|
||
<div class="card create-card">
|
||
<h2>Новый пользователь</h2>
|
||
<form id="create-form">
|
||
<div class="form-row">
|
||
<div class="form-group">
|
||
<label for="new-username">Имя пользователя</label>
|
||
<input type="text" id="new-username" placeholder="username" required>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="new-password">Пароль</label>
|
||
<input type="text" id="new-password" placeholder="password" required>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="new-role">Роль</label>
|
||
<select id="new-role">
|
||
<option value="STUDENT">Студент</option>
|
||
<option value="TEACHER">Преподаватель</option>
|
||
<option value="ADMIN">Администратор</option>
|
||
</select>
|
||
</div>
|
||
<button type="submit" class="btn-create">Создать</button>
|
||
</div>
|
||
<div class="form-alert" id="create-alert" role="alert"></div>
|
||
</form>
|
||
</div>
|
||
|
||
<!-- Users Table -->
|
||
<div class="card">
|
||
<h2>Все пользователи</h2>
|
||
<div class="table-wrap">
|
||
<table id="users-table">
|
||
<thead>
|
||
<tr>
|
||
<th>ID</th>
|
||
<th>Имя пользователя</th>
|
||
<th>Роль</th>
|
||
<th></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="users-tbody">
|
||
<tr>
|
||
<td colspan="4" class="loading-row">Загрузка...</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
|
||
<script src="admin.js"></script>
|
||
</body>
|
||
|
||
</html> |