Files
OpenLesson/public/help.html

111 lines
5.6 KiB
HTML
Raw Permalink 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.0">
<title>Справка по системе</title>
<link rel="stylesheet" href="style.css">
<style>
.help-container {
max-width: 1000px;
margin: 2rem auto;
padding: 0 1rem;
}
.card {
background: white;
border-radius: 1rem;
padding: 1.5rem;
margin-bottom: 1.5rem;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.card h2 {
margin-top: 0;
color: #1e3a8a;
}
.card a {
color: #1e3a8a;
text-decoration: none;
font-weight: bold;
}
.card a:hover {
text-decoration: underline;
}
.badge {
display: inline-block;
background: #e2e8f0;
padding: 0.2rem 0.6rem;
border-radius: 1rem;
font-size: 0.8rem;
margin-left: 0.5rem;
}
.note {
background: #fef9c3;
padding: 1rem;
border-radius: 0.8rem;
margin-top: 1rem;
}
footer {
text-align: center;
margin-top: 2rem;
color: #64748b;
}
</style>
</head>
<body>
<header>
<h1>Справка по системе</h1>
<div id="userInfo"></div>
<button id="logoutBtn" style="display:none;">Выйти</button>
</header>
<main class="help-container">
<div class="card">
<h2>📅 Запись на открытые уроки <span class="badge">доступ всем</span></h2>
<p><strong>Ссылка:</strong> <a href="/" target="_blank">/</a> (главная страница)</p>
<p>Родители могут просматривать доступные уроки, фильтровать их по классу, учителю или теме, и записываться, указав свои ФИО и телефон. После записи количество свободных мест уменьшается.</p>
<p>Уроки, на которых нет свободных мест, не отображаются.</p>
</div>
<div class="card">
<h2>🔐 Панель администратора <span class="badge">только admin</span></h2>
<p><strong>Ссылка:</strong> <a href="/admin" target="_blank">/admin</a></p>
<p>Доступна после авторизации с правами администратора (локальный пользователь или группа из <code>Администраторов</code>).</p>
<ul>
<li> Добавление, редактирование и удаление уроков.</li>
<li>📋 Просмотр записей родителей на каждый урок.</li>
<li>🔍 Фильтрация уроков по классу, учителю, теме, параллели.</li>
<li>📂 Импорт уроков из JSON (структура: массив записей с полями "Класс (параллель)", "Класс (буква)", "Предмет", "Фамилия Учителя", "Имя Учителя", "Отчество Учителя", "Тема Урока").</li>
</ul>
</div>
<div class="card">
<h2>📊 Список записавшихся родителей <span class="badge">admin + Администрация</span></h2>
<p><strong>Ссылка:</strong> <a href="/info" target="_blank">/info</a></p>
<p>Доступен администраторам и пользователям, входящим в группы, указанные в переменной окружения <code>Администрация</code>.</p>
<ul>
<li>📋 Таблица со всеми записями родителей (ФИО, телефон, класс, предмет, учитель, тема, дата/время урока, дата регистрации).</li>
<li>🔎 Фильтрация по ФИО родителя, классу, предмету, учителю.</li>
<li>📎 Выгрузка отфильтрованных данных в CSV (совместим с Excel).</li>
</ul>
</div>
<footer>
Система записи на открытые уроки. При возникновении вопросов обращайтесь к Калугину О.А..
</footer>
</main>
<script>
// Проверяем, авторизован ли пользователь, чтобы показать кнопку выхода
fetch('/api/me').then(res => res.json()).then(data => {
if (data.authenticated) {
const userInfo = document.getElementById('userInfo');
const logoutBtn = document.getElementById('logoutBtn');
userInfo.innerHTML = `👋 ${data.user.full_name} (${data.user.role})`;
logoutBtn.style.display = 'inline-block';
logoutBtn.onclick = async () => {
await fetch('/api/logout', { method: 'POST' });
window.location.href = '/';
};
}
});
</script>
</body>
</html>