feat: exam9 — Экзамен 9 класс по математике (80 вариантов)
Новый отдельный модуль /exam9 в стиле LearnSpace: - 80 вариантов × 10 заданий = 800 задач с разбором (KaTeX + SVG) - Сайдбар: пункт «Экзамен 9 класс» (clipboard-check) - Feature flag: feature_exam9_enabled (мигр. 002) - Видим всем авторизованным; рендер на стороне клиента - Прогресс в localStorage: подсветка вариантов (done/partial) - Возобновление последнего варианта при возврате Структура: frontend/exam9.html — страница (LearnSpace layout) frontend/js/exam9/app.js — рендерер frontend/js/exam9/variants/ — 80 файлов с данными frontend/img/exam9/ — 22 PNG/JPG фигур заданий Картинки путей _tmp/ → /img/exam9/ переписаны автоматически. Все маршруты проверены: 200 OK на /exam9, /js/exam9/*, /img/exam9/*.
This commit is contained in:
@@ -597,6 +597,7 @@ async function hideDisabledFeatures() {
|
||||
board: ['/board'],
|
||||
biochem: ['/biochem', '/biochem-library', '/biochem-reactions'],
|
||||
live_quiz: ['/live-quiz'],
|
||||
exam9: ['/exam9', '/exam9.html'],
|
||||
};
|
||||
for (const [key, hrefs] of Object.entries(map)) {
|
||||
if (feats[key] === false) {
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
${L('/collection', 'layers', 'Коллекция')}
|
||||
${L('/knowledge-map', 'share-2', 'Карта знаний')}
|
||||
${L('/red-book', 'leaf', 'Красная книга')}
|
||||
${L('/exam9', 'clipboard-check', 'Экзамен 9 класс')}
|
||||
${L('/classroom', 'presentation', 'Онлайн-урок')}
|
||||
${L('/lesson-history','archive', 'Архив уроков')}
|
||||
<div class="sb-divider"></div>
|
||||
|
||||
Reference in New Issue
Block a user