From 6dc212de259fd03e06bc27956cf455726efaa211 Mon Sep 17 00:00:00 2001 From: Hermes Date: Sat, 8 Aug 2026 04:15:34 +0200 Subject: [PATCH] fix: menu item via official Lampa pattern ($('.menu .menu__list').eq(0).append), single call --- plugin.js | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/plugin.js b/plugin.js index 3b93c40..0743401 100644 --- a/plugin.js +++ b/plugin.js @@ -116,14 +116,12 @@ } // ---------- Пункт меню ---------- - // bylampa шлёт 'menu:start' при сборке меню (body = jQuery меню). - // Добавляем
  • в .menu__list. Защита от дублей — проверка по DOM. + // Точный паттерн из официального плагина Lampa (iptv): + // создаём
  • ' ); - item.on('hover:enter', function () { + button.on('hover:enter', function () { Lampa.Activity.push({ url: '', component: PLUGIN.name, @@ -139,27 +137,20 @@ page: PLUGIN.title }); }); - list.append(item); + + $('.menu .menu__list').eq(0).append(button); Lampa.Selector.update(); } function start() { - // единственный вход: подписка на сборку меню - Lampa.Listener.follow('menu', function (e) { - if (e.type === 'start') { - setTimeout(addMenuItem, 50); - } - }); - // если меню уже собрано до загрузки плагина — ловим ready - Lampa.Listener.follow('app', function (e) { - if (e.type === 'ready') { - setTimeout(addMenuItem, 200); - } - }); + addMenuItem(); } if (window.Lampa && Lampa.Listener && Lampa.Activity) { start(); + Lampa.Listener.follow('app', function (e) { + if (e.type === 'ready') start(); + }); } else { document.addEventListener('lampa', start); }