feat: background tasks manager and book sentence mining for CEFR tests
This commit is contained in:
1 parent
332286b641
commit
c9da5bd351
11 files changed
+1377
-16
No files matched your search
+56
-2
@@ -5,7 +5,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
|
||||
<title>Notes — Персональный тренажер и словарь английского языка</title>
|
||||
<meta name="description" content="Защищённый персональный тренажёр и словарь английского языка с интервальными повторениями SRS SM-2, контекстным поиском и озвучкой">
|
||||
<link rel="stylesheet" href="/static/css/style.css?v=5.4">
|
||||
<link rel="stylesheet" href="/static/css/style.css?v=5.5">
|
||||
|
||||
<!-- PWA meta and icons -->
|
||||
<link rel="manifest" href="/manifest.json">
|
||||
@@ -608,8 +608,16 @@
|
||||
<h2>🎯 Уровневые тесты CEFR (A1 – B2)</h2>
|
||||
<p class="subtitle">Эталонные тесты по международной шкале Oxford 3000/5000. Ошибки автоматически добавляются в ваш личный тренажёр SRS со статусом «В процессе»!</p>
|
||||
</div>
|
||||
<div class="cefr-header-actions">
|
||||
<button type="button" id="cefr-mine-books-btn" class="btn btn-secondary">
|
||||
⚡ Собрать тесты из книг
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Active Background Task Banner -->
|
||||
<div id="cefr-task-banner" class="cefr-task-banner hidden"></div>
|
||||
|
||||
<div id="cefr-levels-grid" class="cefr-levels-grid">
|
||||
<!-- Dynamic level cards rendered by cefr.js -->
|
||||
</div>
|
||||
@@ -1226,6 +1234,52 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Mine CEFR Questions from Books Modal -->
|
||||
<div id="mine-books-modal" class="modal-backdrop hidden">
|
||||
<div class="modal-window">
|
||||
<div class="modal-header">
|
||||
<h3>⚡ Сборка тестов из библиотеки книг</h3>
|
||||
<button type="button" id="close-mine-books-modal-btn" class="icon-btn">✕</button>
|
||||
</div>
|
||||
<form id="mine-books-form">
|
||||
<div class="modal-body">
|
||||
<p class="modal-desc" style="margin-bottom: 1rem; color: var(--text-muted); font-size: 0.9rem;">
|
||||
Сканирует ваши книги, находит аутентичные предложения с лексикой CEFR и создает тесты с выбором вариантов. Фоновая задача работает без задержек.
|
||||
</p>
|
||||
<div class="form-group">
|
||||
<label for="mine-books-select">Книга для анализа:</label>
|
||||
<select id="mine-books-select" class="input-styled">
|
||||
<option value="">📚 Все книги библиотеки</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="mine-level-select">Целевой уровень CEFR:</label>
|
||||
<select id="mine-level-select" class="input-styled">
|
||||
<option value="ALL">Все уровни (A1 – B2)</option>
|
||||
<option value="A1">A1 – Начальный</option>
|
||||
<option value="A2">A2 – Элементарный</option>
|
||||
<option value="B1">B1 – Средний</option>
|
||||
<option value="B2">B2 – Выше среднего</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="mine-count-input">Количество вопросов для сборки:</label>
|
||||
<select id="mine-count-input" class="input-styled">
|
||||
<option value="15" selected>15 вопросов</option>
|
||||
<option value="25">25 вопросов</option>
|
||||
<option value="35">35 вопросов</option>
|
||||
<option value="50">50 вопросов</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" id="cancel-mine-books-btn" class="btn btn-outline">Отмена</button>
|
||||
<button type="submit" id="submit-mine-books-btn" class="btn btn-primary">⚡ Запустить сборку</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Reader Appearance Settings Popover / Bottom Sheet -->
|
||||
<div id="reader-settings-panel" class="reader-settings-panel hidden">
|
||||
<div class="sheet-drag-handle mobile-only"></div>
|
||||
@@ -1383,7 +1437,7 @@
|
||||
<!-- Audio Element for native streaming -->
|
||||
<audio id="global-audio-player" preload="none"></audio>
|
||||
|
||||
<script type="module" src="/static/js/app.js?v=5.4"></script>
|
||||
<script type="module" src="/static/js/app.js?v=5.5"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in new issue
Block a user