Files
Uch-Practic/static/login.html

80 lines
3.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Вход — Robo Arena</title>
<link rel="stylesheet" href="/static/style.css">
</head>
<body>
<div class="auth-wrap">
<div class="auth-panel">
<div class="robot-icon"></div>
<div class="sys-label">Robo Arena / РСУ</div>
<h1>Вход пилота</h1>
<p>Управляйте боевыми роботами, следите за телеметрией и ведите журнал сражений из любой точки мира.</p>
<div class="arena-stats">
<div class="arena-stat">🤖 Роботы в арене <span>READY</span></div>
<div class="arena-stat">📊 Журнал боёв <span>LOG</span></div>
</div>
</div>
<div class="auth-form-area">
<div class="auth-box">
<h2>Авторизация</h2>
<p class="sub">Введите данные своего аккаунта пилота</p>
<div class="field">
<label for="email">Электронная почта</label>
<input type="email" id="email" placeholder="pilot@arena.ru" autocomplete="email">
</div>
<div class="field">
<label for="password">Пароль</label>
<input type="password" id="password" placeholder="••••••••" autocomplete="current-password">
</div>
<button class="btn btn-primary" id="submit-btn">Войти на арену</button>
<p class="err-msg" id="error-text"></p>
<div class="link-row">Нет аккаунта? <a href="/static/register.html">Стать пилотом</a></div>
</div>
</div>
</div>
<script>
const errEl = document.getElementById("error-text");
const submitBtn = document.getElementById("submit-btn");
submitBtn.addEventListener("click", async () => {
errEl.textContent = "";
const email = document.getElementById("email").value.trim();
const password = document.getElementById("password").value;
if (!email || !password) { errEl.textContent = "Заполните все поля"; return; }
submitBtn.disabled = true;
submitBtn.textContent = "Проверяем…";
try {
const res = await fetch("/api/login", {
method: "POST",
headers: { "Content-Type": "application/json" },
credentials: "include",
body: JSON.stringify({ email, password })
});
const data = await res.json();
if (!res.ok) { errEl.textContent = data.detail || "Неверная почта или пароль"; return; }
window.location.href = "/static/dashboard.html";
} catch {
errEl.textContent = "Не удалось связаться с сервером";
} finally {
submitBtn.disabled = false;
submitBtn.textContent = "Войти на арену";
}
});
document.addEventListener("keydown", e => { if (e.key === "Enter") submitBtn.click(); });
</script>
</body>
</html>