fix(flashcards): LS.init → LS.initPage + renderNavAvatar; добавлен в сайдбар

- flashcards.html: замена несуществующего LS.init() на LS.initPage()
  с деструктуризацией { user }; аватарка через LS.renderNavAvatar
- sidebar.js: добавлена ссылка /flashcards (иконка copy) в раздел «Знания»
  после «Карта знаний»; feature_flashcards_enabled=1 в БД уже активен

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-05-31 09:13:40 +03:00
parent 358b761eb2
commit 400a229959
2 changed files with 4 additions and 4 deletions
+3 -4
View File
@@ -373,13 +373,12 @@
<script>
(async () => {
/* ── auth ── */
const user = await LS.init();
const { user } = LS.initPage();
if (!user) return;
const avatarEl = document.getElementById('nav-avatar');
const nameEl = document.getElementById('nav-user');
const initials = (user.name||'LS').split(' ').slice(0,2).map(w=>w[0]?.toUpperCase()||'').join('')||'LS';
if (avatarEl) avatarEl.textContent = initials;
if (nameEl) nameEl.textContent = user.name || user.username || '';
LS.renderNavAvatar(avatarEl, user);
if (nameEl) nameEl.textContent = user.name || '';
LS.showBoardIfAllowed();
if (user.role!=='student') { document.getElementById('btn-classes')?.style && (document.getElementById('btn-classes').style.display='flex'); }
if (user.role==='admin') { document.getElementById('btn-admin')?.style && (document.getElementById('btn-admin').style.display='flex'); }
+1
View File
@@ -78,6 +78,7 @@
${L('/library', 'book-open', 'Библиотека')}
${L('/theory', 'brain', 'Теория')}
${L('/knowledge-map', 'share-2', 'Карта знаний')}
${L('/flashcards', 'copy', 'Флэшкарты')}
${L('/question-bank', 'database', 'Банк вопросов', { cls: 'sb-teacher-only', hidden: !isTch })}
${L('/exam-prep/math9', 'clipboard-check', 'Подготовка к экзамену 9')}
`)}