Files
Learn_System/js
Maxim Dolgolyov f1fbebe4da ux: sidebar — группировка по 4 секциям, сворачивание со state
Раньше: плоский список из 25 пунктов в один столбец, для учителя
видно ~20+, новички терялись.

Теперь: 4 группы со свёртывающимися заголовками + always-visible
top-блок и admin-нижний блок.

Группы:
  • (top, без заголовка) Поиск · Дашборд · Путеводитель · Руководство
  • «УЧЕБНЫЙ ПРОЦЕСС» (6): Классы, Мои ученики, Онлайн-урок,
    Архив уроков, Live-квиз, Доска
  • «КОНТЕНТ» (6): Учебники, Библиотека, Теория, Карта знаний,
    Банк вопросов, Экзамен 9 класс
  • «ПРАКТИКА И ИГРЫ» (7): Лаборатория, Биохимия, Красная книга,
    Кроссворд, Виселица, Питомец, Коллекция
  • «ОТЧЁТЫ И УПРАВЛЕНИЕ» (3, teacher+): Аналитика, Журнал, Управление

Технически:
  - Helper G(slug, label, body) — создаёт группу с уникальным slug
  - localStorage 'ls_sb_g_<slug>' хранит свёрнутое состояние
  - Click на заголовок группы → toggle .collapsed
  - Sidebar-collapsed (icon-only) режим: заголовки групп скрыты,
    все пункты остаются видны (компактный режим работает как раньше)
  - Стили инжектятся inline через id=sb-group-styles (защита от
    повторной инжекции при HMR)

Совместимость: все ссылки и их id/class сохранены, нет правок в
других файлах. Существующие onClick'и через id (btn-board, btn-classes,
btn-admin, btn-join) работают.
2026-05-16 17:49:00 +03:00
..