fix(dashboard): hero «Лаборатория дня» виден при выключенной лабе

Hero-карточка #hc-lab имела href="/lab", но loadLabOfDay меняет его на
/lab?sim=<id> → CSS [href="/lab"] больше не матчит, карточка оставалась видной.
Прячем по стабильному id: #hc-lab/#hc-pet/#hc-read добавлены в FEATURE_WIDGETS
(lab/pet/textbooks). .hero-row переведён на grid auto-fit (minmax 240) — сетка сама
подстраивается под видимые карточки без дыры; syncHeroRow прячет весь ряд, если
карточек не осталось (мобайл-медиазапрос не трогаем — без инлайн-колонок).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-06-23 10:37:41 +03:00
parent 399a222b65
commit 1aa95a6776
2 changed files with 19 additions and 2 deletions
+6 -1
View File
@@ -854,9 +854,14 @@ const FEATURE_HREFS = {
sitemap: ['/sitemap', '/sitemap.html'],
};
/* Контейнеры виджетов-модулей (дашборд и т.п.) — прячем блок целиком, а не только
ссылку, иначе остаётся пустой блок (напр. виджет флеш-карт #w-flashcard). */
ссылку, иначе остаётся пустой блок (напр. виджет флеш-карт #w-flashcard).
Hero-карточки дашборда: у lab JS меняет href на /lab?sim=… → [href="/lab"] не
матчит, поэтому прячем по СТАБИЛЬНОМУ id #hc-lab (аналогично pet/чтение). */
const FEATURE_WIDGETS = {
flashcards: ['#w-flashcard'],
lab: ['#hc-lab'],
pet: ['#hc-pet'],
textbooks: ['#hc-read'],
};
/* Инъекция CSS, прячущего отключённые фичи. Ставится синхронно из localStorage-кэша
на ранней загрузке (ДО построения сайдбара/виджетов) — против мигания (FOUC),