feat(plugin): add left-menu registration for P365X with settings fallback

This commit is contained in:
2026-03-03 11:34:42 +03:00
parent 552c0f5251
commit de5d08eaa5

View File

@@ -209,32 +209,39 @@
v.load(); v.load();
}; };
addLampaMenuButton(); registerLeftMenuEntry();
log('UI mounted'); log('UI mounted');
} }
function addLampaMenuButton() { function registerLeftMenuEntry() {
try { try {
if (!window.Lampa || !Lampa.SettingsApi || !Lampa.SettingsApi.addParam) return; if (!window.Lampa) return;
Lampa.SettingsApi.addParam({ // Основной путь: пункт в левом меню
component: 'interface', if (Lampa.Menu && typeof Lampa.Menu.add === 'function') {
param: { Lampa.Menu.add({
name: 'p365x_open_btn', title: 'P365X',
type: 'button' component: 'p365x_proxy_component',
}, icon: '<svg width="36" height="36" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><circle cx="32" cy="32" r="30" fill="currentColor" opacity="0.18"/><text x="32" y="39" text-anchor="middle" font-size="20" fill="currentColor" font-family="sans-serif">P</text></svg>',
field: { onSelect: function () { openPanel(); },
name: 'P365X каталог', onClick: function () { openPanel(); },
description: 'Открыть каталог P365X' action: function () { openPanel(); }
}, });
onChange: function () { log('Left menu entry registered via Lampa.Menu.add');
openPanel(); }
}
});
log('Settings button registered'); // Фолбэк: оставим кнопку в настройках, если API меню недоступно
if (Lampa.SettingsApi && typeof Lampa.SettingsApi.addParam === 'function') {
Lampa.SettingsApi.addParam({
component: 'interface',
param: { name: 'p365x_open_btn', type: 'button' },
field: { name: 'P365X каталог', description: 'Открыть каталог P365X' },
onChange: function () { openPanel(); }
});
log('Fallback settings button registered');
}
} catch (e) { } catch (e) {
log('Settings button error: ' + (e && e.message ? e.message : e)); log('Menu registration error: ' + (e && e.message ? e.message : e));
} }
} }