- Lab page is now read-only with a settings screen for levels/variants; variant issuance moved to a large modal on the group page (assign-fragment). - Header: bordeaux logo and 2px accent underline, bordeaux login/logout/theme buttons; smaller radii across the UI; filled secondary/danger buttons. - Includes prior agent work (login backoff, no-cache pages, API timeouts, content tweaks) and fixes (variant usage Map.values, import order). - Bump static asset version to v=9.
19 lines
1.4 KiB
HTML
19 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ru" xmlns:th="http://www.thymeleaf.org" th:replace="~{fragments/base :: layout(~{::title}, ~{::#content})}">
|
|
<head><title>Первый запуск — LMS</title></head>
|
|
<body>
|
|
<div id="content">
|
|
<div class="container-sm">
|
|
<h1 class="page-title">Создание администратора</h1>
|
|
<p class="text-sm text-muted mb-4">Это разовая настройка. Аккаунт преподавателя создаётся один раз.</p>
|
|
<form class="card form-card form-stack" th:action="@{/setup}" method="post">
|
|
<div><label class="label" for="login">Логин</label><input class="input" id="login" name="login" autocomplete="username" th:value="${login}" autofocus required></div>
|
|
<div><label class="label" for="password">Пароль</label><input class="input" id="password" name="password" type="password" autocomplete="new-password" required><p class="hint">Минимум 8 символов.</p></div>
|
|
<div><label class="label" for="password2">Повторите пароль</label><input class="input" id="password2" name="password2" type="password" autocomplete="new-password" required></div>
|
|
<button class="btn btn-primary" type="submit">Создать и войти</button>
|
|
<input type="hidden" name="_csrf" th:value="${csrfToken}">
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |