feat(lessons): implement comprehensive lesson configurator, session runner and AI debrief (Beta)

This commit is contained in:
Antigravity committed 2026-10-07 13:03:16 +03:00
1 parent 31e105b2c2
commit 718e9797eb
12 files changed
+4093 -1

No files matched your search

+113
View File
@@ -1052,6 +1052,97 @@
</div>
</section>
<!-- VIEW 6: Comprehensive Lesson Configurator (Beta) -->
<section id="lesson-view" class="lesson-view hidden">
<div class="lesson-configurator-container">
<!-- Header with Title & Action -->
<div class="lesson-header-bar">
<div class="lesson-title-wrap">
<h2>🚀 Конструктор комплексного урока <span class="badge badge-beta">Beta</span></h2>
<p class="lesson-subtitle text-muted">Соберите персональный ежедневный воркфлоу или запустите готовый шаблон</p>
</div>
<div class="lesson-header-actions">
<button id="lesson-history-btn" class="btn btn-outline" title="История пройденных уроков">
📜 История уроков
</button>
<button id="lesson-save-preset-btn" class="btn btn-secondary" title="Сохранить текущую настройку в мои шаблоны">
💾 Сохранить шаблон
</button>
<button id="lesson-start-btn" class="btn btn-primary btn-lg pulse-btn">
🚀 Начать урок (<span id="lesson-preset-duration">~15 мин</span>)
</button>
</div>
</div>
<!-- Presets Carousel / Bar -->
<div class="lesson-presets-section mt-3">
<div class="presets-section-title">
<span>🎯 Готовые шаблоны уроков:</span>
</div>
<div id="lesson-presets-bar" class="lesson-presets-chips-row">
<!-- Loaded dynamically -->
</div>
<p id="lesson-preset-desc" class="preset-description-text text-muted mt-2"></p>
</div>
<!-- Steps List (Configurable Blocks) -->
<div class="lesson-blocks-section mt-4">
<div class="blocks-section-header">
<h3>🧩 Блоки вашего урока:</h3>
<span class="blocks-tip text-muted">Тасуйте порядок стрелками ▲/▼, меняйте объём и включайте нужные блоки</span>
</div>
<div id="lesson-steps-list" class="lesson-steps-list mt-3">
<!-- Rendered by lesson.js -->
</div>
</div>
<!-- Bottom Floating Start CTA -->
<div class="lesson-bottom-cta mt-4">
<button id="lesson-start-btn-bottom" class="btn btn-primary btn-xl w-100" onclick="document.getElementById('lesson-start-btn').click()">
🚀 Начать комплексный урок сейчас
</button>
</div>
</div>
</section>
<!-- VIEW 7: Active Lesson Session Runner -->
<section id="lesson-runner-view" class="lesson-runner-view hidden">
<!-- Top Sticky Control Bar -->
<header class="lesson-runner-header">
<div class="runner-nav-left">
<button id="lesson-runner-exit-btn" class="btn btn-sm btn-outline">✕ Выйти из урока</button>
<div class="runner-timer-wrap">
⏱️ <span id="lesson-runner-timer" class="runner-timer-val">00:00</span>
</div>
</div>
<div class="runner-nav-center">
<div id="lesson-runner-breadcrumbs" class="runner-breadcrumbs-row">
<!-- Filled by lesson.js -->
</div>
</div>
<div class="runner-nav-right">
<button id="lesson-next-step-btn" class="btn btn-sm btn-ghost">
Пропустить этап ⏭️
</button>
</div>
</header>
<!-- Runner Progress Bar -->
<div class="lesson-runner-progress-track">
<div id="lesson-runner-progress-fill" class="lesson-runner-progress-fill" style="width: 0%;"></div>
</div>
<!-- Dynamic Step Content Stage -->
<main class="lesson-runner-main">
<div id="lesson-step-content" class="lesson-step-content-container">
<!-- Injected dynamically by step runners -->
</div>
</main>
</section>
<!-- Sticky Bulk Action Bar for Batch Selection Mode -->
<div id="batch-action-bar" class="batch-action-bar hidden">
<div class="batch-left">
@@ -1155,6 +1246,13 @@
<span class="drawer-item-label">Грамматика Мерфи & Тетрадь</span>
</button>
</li>
<li>
<button class="drawer-nav-item" data-hash="#lesson" id="drawer-nav-lesson">
<span class="drawer-item-icon">🚀</span>
<span class="drawer-item-label">Комплексный урок</span>
<span class="drawer-badge badge-beta">Beta</span>
</button>
</li>
</ul>
<!-- Section 2: Analytics & Progress -->
@@ -1585,6 +1683,21 @@
</div>
</div>
<!-- Lesson History Modal -->
<div id="lesson-history-modal" class="modal-backdrop hidden">
<div class="modal-window modal-lg lesson-history-modal-window">
<div class="modal-header">
<h3>📜 История комплексных уроков</h3>
<button id="lesson-history-close-btn" class="icon-btn" title="Закрыть">✕</button>
</div>
<div class="modal-body">
<div id="lesson-history-list" class="lesson-history-list">
<!-- Populated dynamically by lesson.js -->
</div>
</div>
</div>
</div>
<!-- Move Collection Modal -->
<div id="move-col-modal" class="modal-backdrop hidden">
<div class="modal-window modal-sm">