feat: редизайн страницы отчёта ученика — портфолио-стиль, галерея с листанием и видео

- renderStudentReport: детский учебный дизайн (крупные скругления, sticky-навигация, секции-карточки)

- журнал занятий в две колонки (одна на мобильных)

- единая галерея фото и видео: листание кнопками/стрелками, счётчик

- воспроизведение видео прямо в лайтбоксе

- кнопка закрытия ✕, закрытие по фону и Esc

- модалка экспорта отчёта ученика (период и выбор содержимого)
This commit is contained in:
dev
2026-09-12 23:55:35 +03:00
parent 3c40e94a57
commit fac668567e
3 changed files with 706 additions and 0 deletions
+52
View File
@@ -53,6 +53,58 @@
</div>
</div>
<div class="modal-overlay" id="exportModal">
<div class="edit-modal" style="max-width:480px">
<h3>Экспорт отчёта: <span id="exportName" style="color:var(--accent)"></span></h3>
<form id="exportForm" class="settings-stack" style="gap:12px">
<div class="settings-row">
<div class="settings-field" style="flex:1">
<label>Период (необязательно)</label>
<div style="display:flex;gap:8px;flex-wrap:wrap">
<input type="date" id="exportDateFrom" class="settings-input" style="min-width:0;flex:1">
<input type="date" id="exportDateTo" class="settings-input" style="min-width:0;flex:1">
</div>
<span class="hint">Ограничить записи/фото/файлы датами</span>
</div>
</div>
<div class="settings-field full">
<label style="display:flex;align-items:center;gap:8px;cursor:pointer">
<input type="checkbox" id="expEntries" checked>
Записи занятий (текст)
</label>
</div>
<div class="settings-field full">
<label style="display:flex;align-items:center;gap:8px;cursor:pointer">
<input type="checkbox" id="expPhotos" checked>
Фотографии
</label>
</div>
<div class="settings-field full">
<label style="display:flex;align-items:center;gap:8px;cursor:pointer">
<input type="checkbox" id="expCaptions" checked>
Подписи к фотографиям
</label>
</div>
<div class="settings-field full">
<label style="display:flex;align-items:center;gap:8px;cursor:pointer">
<input type="checkbox" id="expFiles" checked>
Файлы
</label>
</div>
<div class="settings-field full">
<label style="display:flex;align-items:center;gap:8px;cursor:pointer">
<input type="checkbox" id="expDates" checked>
Показывать даты
</label>
</div>
<div class="card-foot" style="justify-content:flex-end;gap:8px">
<button type="button" class="btn-primary ghost" id="exportCancelBtn">Отмена</button>
<button type="submit" class="btn-primary">Скачать ZIP</button>
</div>
</form>
</div>
</div>
<div class="modal-overlay" id="attachModal">
<div class="edit-modal" style="max-width:480px">
<h3>Прикрепить к группе</h3>