Files
WhatIDo/public/settings.html
T
2026-09-10 11:26:51 +03:00

90 lines
4.0 KiB
HTML

<!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="admin.css">
</head>
<body data-page="settings">
<div class="layout">
<div class="sidebar" id="sidebar"></div>
<div class="main">
<div class="page-head">
<h2>Настройки</h2>
<p class="page-sub">Параметры формы и данные системы</p>
</div>
<div class="settings-stack settings-stack-grid">
<div class="settings-card wide">
<div class="card-head">
<div class="ic">📊</div>
<h3>Системная информация</h3>
</div>
<div id="systemInfo" class="sys-grid">
<div class="sys-card loading">Загрузка…</div>
</div>
</div>
<div class="settings-card">
<div class="card-head">
<div class="ic">🛡️</div>
<h3>Защита от повторов</h3>
</div>
<p class="hint">Если ученик уже отправил ответ, следующая отправка от него будет отклонена в течение заданного времени. Минимальное значение — 1 минута.</p>
<div class="settings-row">
<div class="settings-field">
<label for="spamInterval">Интервал ожидания</label>
<div class="unit-row">
<input type="number" id="spamInterval" class="settings-input" min="1" max="1440" step="1">
<span class="unit">минут</span>
</div>
</div>
</div>
</div>
<div class="settings-card">
<div class="card-head">
<div class="ic">📄</div>
<h3>Футер на форме</h3>
</div>
<p class="hint">Тексты показываются внизу формы ответа ученика.</p>
<div class="settings-row">
<div class="settings-field">
<label for="footerLeft">Текст слева</label>
<input type="text" id="footerLeft" class="settings-input" placeholder="Например: Поле, руководитель">
</div>
<div class="settings-field">
<label for="footerRight">Текст справа</label>
<input type="text" id="footerRight" class="settings-input" placeholder="Например: Год, курс">
</div>
</div>
</div>
<div class="settings-card">
<div class="card-head">
<div class="ic">🗄️</div>
<h3>Резервное копирование</h3>
</div>
<p class="hint">Скачайте архив со всеми данными (ученики, группы, журнал, настройки) и фотографиями. Восстановление полностью заменит текущие данные.</p>
<div class="data-stats" id="dataStats"><span class="chip">Загрузка статистики…</span></div>
<div class="card-foot">
<button class="btn-primary ghost" id="backupBtn" type="button">⬇️ Скачать бэкап</button>
<button class="btn-primary ghost" id="restoreBtn" type="button">⬆️ Восстановить из файла</button>
<input type="file" id="restoreFile" accept=".tar.gz,.gz,application/gzip" style="display:none">
</div>
<div class="restore-status" id="restoreStatus"></div>
</div>
</div>
</div>
</div>
<div class="save-bar" id="saveBar">
<span class="hint" id="saveHint">⚠️ Есть несохранённые изменения</span>
<button class="btn-primary" id="saveBtn" type="button">Сохранить изменения</button>
</div>
<div class="toast" id="toast"></div>
<script src="admin.js"></script>
<script src="js/settings.js"></script>
</body>
</html>