Files
Learn_System/backend/src/controllers/classroomController.js
T
Maxim Dolgolyov 068d6c2afe feat(classroom): открытие любого учебника в онлайн-уроке
Учитель может выбрать любой активный учебник из каталога /api/textbooks
и открыть его в общем iframe для всех участников. По аналогии с симуляциями:

- Backend: контроллер classroom/textbook.js + 4 роута
  (POST/DELETE /:id/textbook, /:id/textbook/nav, /:id/textbook/mode)
  с SSE-событиями classroom_textbook_open|close|nav|mode
- Embed-режим /textbook/:slug?embed=1: сервер injectит CSS+JS-bridge
  перед </head>, скрывая хедер/сайдбар и пересылая клики/скролл наверх
  через postMessage (без правки 40+ HTML-учебников)
- Frontend (classroom.html): кнопка «Учебник» в header, пикер с
  фильтрами по предмету, iframe-панель с режимами демо/свободно,
  relay nav-событий учителя → всем студентам в demo-режиме
2026-05-29 11:41:57 +03:00

14 lines
466 B
JavaScript

'use strict';
// Re-export facade — routes/classroom.js imports from this path unchanged.
// Implementation split into domain files under ./classroom/
module.exports = {
...require('./classroom/sessions'),
...require('./classroom/strokes'),
...require('./classroom/pages'),
...require('./classroom/chat'),
...require('./classroom/permissions'),
...require('./classroom/sim'),
...require('./classroom/textbook'),
...require('./classroom/admin'),
};