axe-web/index.html

72 lines
3.2 KiB
HTML
Raw Permalink Normal View History

<!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="css/style.css">
</head>
<body>
<!-- Экран входа -->
<div id="login-view" class="view">
<form id="login-form" class="card login-card" autocomplete="on">
<h1>Обслуживание зданий</h1>
<label>Email
<input type="email" id="login-email" required autocomplete="username">
</label>
<label>Пароль
<input type="password" id="login-password" required autocomplete="current-password">
</label>
<div id="login-error" class="error" role="alert"></div>
<button type="submit" class="primary wide">Войти</button>
<button type="button" class="ghost wide" id="show-forgot">Забыли пароль?</button>
</form>
<!-- Забыли пароль: письмо со ссылкой на форму сброса -->
<form id="forgot-form" class="card login-card hidden" autocomplete="on">
<h1>Забыли пароль?</h1>
<p class="hint">Укажите email — пришлём ссылку для смены пароля. Если аккаунта нет, письмо не придёт (так адреса не перебирают).</p>
<label>Email
<input type="email" id="forgot-email" required autocomplete="username">
</label>
<div id="forgot-error" class="error" role="alert"></div>
<button type="submit" class="primary wide">Отправить ссылку</button>
<button type="button" class="ghost wide" id="back-login">Вернуться ко входу</button>
</form>
<!-- Сброс пароля по ссылке из письма: токен приходит в хеш-маршруте -->
<form id="reset-form" class="card login-card hidden" autocomplete="on">
<h1>Новый пароль</h1>
<p class="hint">Пароль: мин. 10 символов, буквы и цифры. Ссылка одноразовая и живёт сутки.</p>
<label>Пароль
<input type="password" id="reset-password" required minlength="10" autocomplete="new-password">
</label>
<label>Повторите пароль
<input type="password" id="reset-password2" required minlength="10" autocomplete="new-password">
</label>
<div id="reset-error" class="error" role="alert"></div>
<button type="submit" class="primary wide">Сменить пароль</button>
</form>
</div>
<!-- Приложение -->
<div id="app-view" class="view hidden">
<header class="topbar">
<div class="brand">Заявки в здании</div>
<nav id="nav"></nav>
<div class="who">
<span id="who"></span>
<button id="logout" class="ghost" type="button">Выйти</button>
</div>
</header>
<main id="main"></main>
</div>
<!-- Всплывающие сообщения (ошибки API и успех) -->
<div id="flash" class="flash hidden"></div>
<script src="js/api.js"></script>
<script src="js/app.js"></script>
</body>
</html>