fix(lab): значок «связанной симуляции» на карточках учебников не скрывался при выключенной лаборатории
В каталоге учебников (textbooks.html) у карточек есть кнопка .tb-lab-btn «открыть связанную симуляцию» (openLabSim → /lab?sim=…). Это <button onclick>, а не <a href="/lab">, поэтому kill-switch `[href="/lab"]` её не ловил, и значок-колба оставался при отключённой «Лаборатории». Фикс: добавил `.tb-lab-btn` в FEATURE_WIDGETS.lab → api.js скрывает её через инъекцию при lab=false (работает и без ls.css). Плюс страховка в openLabSim: при lab=false не открываем (тост «Лаборатория отключена»); админ — всегда (admin-override). Verified vm-смоук на реальном api.js 4/4 (lab off → .tb-lab-btn скрыта; lab on → нет; admin → ничего). node --check api.js + инлайн textbooks.html. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -866,7 +866,10 @@ const FEATURE_HREFS = {
|
||||
матчит, поэтому прячем по СТАБИЛЬНОМУ id #hc-lab (аналогично pet/чтение). */
|
||||
const FEATURE_WIDGETS = {
|
||||
flashcards: ['#w-flashcard'],
|
||||
lab: ['#hc-lab'],
|
||||
// #hc-lab — hero-карточка дашборда; .tb-lab-btn — кнопка «открыть связанную
|
||||
// симуляцию» на карточках каталога учебников (openLabSim → /lab?sim=…). Это
|
||||
// <button onclick>, а не <a href="/lab">, поэтому [href="/lab"] её не ловит.
|
||||
lab: ['#hc-lab', '.tb-lab-btn'],
|
||||
pet: ['#hc-pet'],
|
||||
textbooks: ['#hc-read'],
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user