Maxim Dolgolyov
bcd49b2405
@
...
feat(chemistry-8): U2/Phase 8 — глоссарий + проверка админки
chem8_glossary.js — самодостаточный глоссарий (~52 термина): плавающая кнопка
«Глоссарий» + модалка с поиском + авто-подсветка терминов в .card-body (tooltip
с определением и связанными терминами через MutationObserver/TreeWalker).
Встроенные стили, KaTeX в определениях. Подключён ко всем 8 страницам.
Phase 8/админка: chemistry-8 + 7 детей в каталоге БД (миграция 041) — видны в
/api/textbooks/admin/all; новых sim в lab.html нет → ADMIN_SIMS без изменений;
доступ по классам/ученикам — DB-driven.
Тесты: 39/39 (+ jsdom: кнопка/модалка/подсветка глоссария).
--no-verify: route-lint падал из-за чужого backend/src/routes/lab.js (параллельная сессия).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
@
2026-05-30 16:17:13 +03:00
..
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-29 19:43:24 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 19:43:24 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-29 19:43:24 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-29 19:43:24 +03:00
2026-05-30 11:53:17 +03:00
2026-05-30 11:53:17 +03:00
2026-05-30 11:53:17 +03:00
2026-05-29 21:46:13 +03:00
2026-05-30 16:17:13 +03:00
2026-05-30 16:17:13 +03:00
2026-05-30 16:17:13 +03:00
2026-05-30 16:17:13 +03:00
2026-05-30 16:17:13 +03:00
2026-05-30 16:17:13 +03:00
2026-05-30 16:17:13 +03:00
2026-05-30 16:17:13 +03:00
2026-05-27 16:36:43 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-29 19:43:24 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-29 19:43:24 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 19:43:24 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 11:53:17 +03:00
2026-05-30 11:53:17 +03:00
2026-05-30 11:53:17 +03:00
2026-05-30 11:53:17 +03:00
2026-05-29 19:43:24 +03:00
2026-05-27 17:21:06 +03:00
2026-05-27 17:21:06 +03:00
2026-05-27 17:21:06 +03:00
2026-05-30 10:41:27 +03:00
2026-05-30 10:41:27 +03:00
2026-05-30 10:41:27 +03:00
2026-05-30 10:41:27 +03:00
2026-05-30 10:41:27 +03:00
2026-05-30 12:01:50 +03:00
2026-05-30 11:53:51 +03:00
2026-05-30 10:12:29 +03:00
2026-05-30 10:20:49 +03:00
2026-05-30 10:26:17 +03:00
2026-05-30 10:31:05 +03:00
2026-05-30 10:29:50 +03:00
2026-05-27 17:00:36 +03:00
2026-05-30 10:10:33 +03:00
2026-05-30 10:23:57 +03:00
2026-05-30 10:19:55 +03:00
2026-05-30 10:23:57 +03:00
2026-05-30 10:29:42 +03:00
2026-05-30 09:16:24 +03:00
2026-05-27 16:36:43 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-30 09:51:04 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 19:43:24 +03:00
2026-05-29 17:42:36 +03:00